vectorization相关内容

向量化的“in";在朱莉娅的作用?

我经常想循环遍历数据框的长数组或列,并且对于每个项目,查看它是否是另一个数组的成员.而不是做 giant_list = ["a", "c", "j"]good_letters = ["a", "b"]isin = falses(size(giant_list,1))对于 i=1:size(giant_list,1)isin[i] = Giant_list[i] in good_letters结尾 ..
发布时间:2022-01-23 19:00:36 其他开发

用某个值填充向量(SSE2)的最快方法.模板友好

我有这个模板类: 模板结构 A{双 v_sse __attribute__ ((vector_size (8*D)));A(双值){//这里是什么?}}; 用 val 的副本填充 v_sse 字段的最佳方法是什么?由于我使用向量,因此我可以使用 gcc SSE2 内在函数. 解决方案 如果我们可以编写一次代码,只需稍作调整就可以将其编译为更宽的向量,即使在自动向量化 ..
发布时间:2022-01-20 18:20:58 其他开发

在numpy中使用旋转矩阵有效地旋转一组点

我有一个存储在 numpy 数组 A 中的 3D 点列表,形状为 (N,3) 和一个旋转矩阵 R 的形状(3,3).我想就地计算 A 中每个点 x 的 R.x 的点积.天真地我可以这样做: 对于 xrange(N) 中的 n:A[n,:] = 点(R, A[n,:]) 有没有办法通过本机 numpy 调用对其进行矢量化?如果重要的话,N 大约是几千. 解决方案 可以将 A 与旋转矩阵的 ..
发布时间:2022-01-16 14:41:11 Python

AVX-512 和分支

我对掩蔽在理论上可以对分支做什么感到困惑.假设我有一个 Skylake-SP(哈哈,我希望..),我们忽略了编译器功能,这在理论上是可能的: 如果一个分支条件依赖于一个静态标志,并且所有分支都将一个数组设置为一个计算结果,假设编译器无论如何都不会将其优化为两个单独的循环,它可以向量化吗? 做 i = 1, nx如果 (my_flag .eq. 0) 那么a(i) = b(i) ** 2别的 ..
发布时间:2022-01-14 09:45:42 其他开发

R - 快速二样本 t 检验

我想使用单独的分组在 R 中执行两个样本 t 检验.t.test 必须是“无偏的",这意味着对于外部组(下面的第 2 组)中的所有事务,必须为每个内部组(下面的第 1 组)运行 T 测试,例如:“内部组 A"与“内部组不是 A".下面显示的 for 循环代码可能比口头解释更清楚... 我当前的代码如下.有谁知道更快/更好的方法来做到这一点?可以使用任何包,但目前使用的是 data.table ..
发布时间:2022-01-13 19:33:26 其他开发

如何在 data.table 中编写累积计算

顺序累积计算 我需要进行时间序列计算,其中每一行计算的值取决于上一行计算的结果.我希望利用 data.table 的便利.实际问题是一个水文模型——累积水平衡计算,在每个时间步增加降雨量并减去作为当前水量函数的径流和蒸发量.数据集包括不同的盆地和情景(组).这里我将使用一个更简单的问题来说明. 计算的简化示例如下所示,对于每个时间步(行)i: v[i] ..

MATLAB:计算时间序列的每个 1 分钟间隔的平均值

我有一堆时间序列,每个时间序列由两个组件描述,一个时间戳向量(以秒为单位)和一个测量值向量.时间向量是不均匀的(即以不规则的间隔采样) 我正在尝试计算每个 1 分钟间隔值的平均值/标准差(取 X 分钟间隔,计算其平均值,取下一个间隔,...). 我当前的实现使用循环.这是我到目前为止的一个示例: t = (100:999)' + rand(900,1);%' 非均匀时间x = 5*r ..
发布时间:2022-01-11 09:23:08 其他开发

将新值插入数组

我目前有一个不同长度的列向量,我想在原始数组的各个点插入另一个列向量.即我想将我的新数组添加到旧数组的开头跳过 10 个位置再次添加我的新数组,跳过另外 10 个空格并再次添加我的新数组,依此类推,直到数组结束.我可以这样做: OffsetSign = [1:30]';额外 = [0;0;0;0;0];OffsetSign =[额外;OffsetSign(1:10);额外;OffsetSign( ..
发布时间:2022-01-09 13:07:30 其他开发

Simd matmul 程序给出不同的数值结果

我正在尝试使用 simd 内在函数在 C 中编写矩阵乘法.我很确定我的实现,但是当我执行时,从结果矩阵系数的第 5 位开始出现一些数值错误. REAL_T 只是一个带有 typedef 的浮点数 /* 这是我的带有 simd 的 matmul 版本,使用浮动简单精度*/void matmul(int n, REAL_T *A, REAL_T *B, REAL_T *C){整数 i,j,k; ..
发布时间:2022-01-09 10:18:47 其他开发

是否有任何 JVM 的 JIT 编译器生成使用矢量化浮点指令的代码?

假设我的 Java 程序的瓶颈确实是一些紧密循环来计算一堆矢量点积.是的,我已经分析过了,是的,它是瓶颈,是的,它很重要,是的,算法就是这样,是的,我已经运行 Proguard 来优化字节码,等等. 这项工作本质上是点积.如,我有两个 float[50] ,我需要计算成对产品的总和.我知道处理器指令集的存在是为了快速批量执行此类操作,例如 SSE 或 MMX. 是的,我可以通过在 JN ..
发布时间:2022-01-09 10:13:30 Java开发

如何在 numpy 或 pytorch 中矢量化自定义算法?

假设我有两个矩阵: A:大小 k x mB: 大小 m x n 使用自定义操作,我的输出将是 k x n. 这个自定义操作不是A的行和B的列之间的点积.假设这个自定义操作定义为: 对于A的第I行和B的第J列,输出的i,j元素为: sum( (a[i] + b[j]) ^20 ), i 循环 I, j 循环 J 我认为实现这一点的唯一方法是扩展这个方程,计算每一项,然后对它们求和 ..
发布时间:2022-01-06 19:31:07 Python

Python 中的 NLP:向量化后从 SelectKBest 中获取词名

我似乎无法找到我的确切问题的答案.有人可以帮忙吗? 我的数据框(“df")的简化描述:它有两列:一列是一堆文本(“注释"),另一列是一个二进制变量,指示解析时间是否高于平均水平(“y"). 我对文本做了词袋处理: from sklearn.feature_extraction.text import CountVectorizervectorizer = CountVectorize ..
发布时间:2022-01-02 17:59:56 Python

Matlab(或 Octave)中网格的矢量化

Matlab 中的矢量化代码运行速度比 for 循环快得多(参见 Octave 在单台机器上的并行计算 -- 封装和示例用于 Octave 中的具体结果) 话虽如此,有没有办法在 Matlab 或 Octave 中对接下来显示的代码进行矢量化? x = -2:0.01:2;y = -2:0.01:2;[xx,yy] = meshgrid(x,y);z = sin(xx.^2-yy.^2); ..
发布时间:2021-12-30 21:24:55 其他开发

是否有向量化的并行 max() 和 min()?

我有一个带有“a"和“b"列的data.frame.我想添加名为“高"和“低"的列,其中包含列 a 和 b 中的最高和最低. 有没有办法在不遍历数据帧中的行的情况下执行此操作? 编辑:这是用于 OHLC 数据,因此高和低列应包含同一行上 a 和 b 之间的最高和最低元素,而不是整个列中.抱歉,如果措辞不好. 解决方案 听起来您正在寻找 pmax 和 pmin(“并行"最大值/最 ..
发布时间:2021-12-30 21:02:51 其他开发