dot-product相关内容

使用 CUBLAS 例程在 GPGPU 上保留点积

我正在编写代码来使用点积的 CUBLAS 例程计算两个向量的点积,但它返回主机内存中的值.我只想使用点积在 GPGPU 上进行进一步计算.如何使值仅驻留在 GPGPU 上并将其用于进一步计算,而无需从 CPU 到 GPGPU 进行显式复制? 解决方案 你不能完全使用 CUBLAS. 根据 talonmies 的回答,从 CUBLAS V2 api (CUDA 4.0) 开始返回值可以是设备 ..
发布时间:2022-01-10 15:44:03 其他开发

理解张量点

在我学会了如何使用 einsum 之后,我现在正在尝试了解 np.tensordot 是如何工作的. 然而,我有点迷茫,尤其是关于参数axes的各种可能性. 为了理解它,因为我从来没有练习过张量微积分,我用下面的例子: A = np.random.randint(2, size=(2, 3, 5))B = np.random.randint(2, size=(3, 2, 4)) 在 ..
发布时间:2021-12-08 09:05:14 Python

3D 空间:跟随对象指向的方向,使用鼠标指针

给定相机朝向的方向的 3D 向量和 3D 空间中 3D 对象的方向/方向向量,我如何计算鼠标指针在屏幕上必须遵循的二维斜率在视觉上沿着所述物体的方向移动? 基本上我希望能够点击一个箭头并通过拖动它来让它来回移动,但前提是鼠标指针沿着箭头的长度(大致)拖动,即它的方向指向. 谢谢 解决方案 我不确定我是否 100% 理解您的问题.你介意贴一张图吗? 您可能会对这些感兴趣.我 ..
发布时间:2021-11-25 02:58:00 C#

如何优化点积的 AVX 实现?

我尝试使用 AVX 实现这两个数组的点积 https://stackoverflow.com/a/10459028.但是我的代码很慢. A 和 xb 是双精度数组,n 是偶数.你能帮助我吗? const int mask = 0x31;int sum =0;for (int i = 0; i n)//填充{sum += A[ind] * xb[i].x;我++;ind = n * j + ..
发布时间:2021-09-18 18:56:38 其他开发

计算大点积的最快方法是什么?

考虑这个片段: double dot(double* a, double* b, int n) {双和 = 0;for (int i = 0; i 如何使用内在函数或汇编程序加快速度? 注意事项: 您可以采用最新的架构,包括 AVX 扩展. n 是几百个. dot 本身将被紧密循环使用 解决方案 这是一个简单的 SSE 实现: #include "pmmintrin ..
发布时间:2021-08-27 19:46:11 其他开发

沿第三轴的点积

我正在尝试使用 tensordot 在 numpy 中获取张量点积,但我不确定我应该如何重塑我的数组以实现我的计算.(总的来说,我对张量数学还是个新手.) 我有 arr = np.array([[[1, 1, 1],[0, 0, 0],[2, 2, 2]],[[0, 0, 0],[4, 4, 4],[0, 0, 0]]])w = [1, 1, 1] 我想沿 axis=2 取点积,这样我就 ..
发布时间:2021-06-10 19:30:23 Python

我如何找出A * B是Numpy中的Hadamard或Dot产品?

如果我在导入numpy的python代码中看到以下行: c = a * b 确定此操作是以Hadamard(元素方式)还是点积(点方式)操作执行的最简单,最实用的方法是什么? 对于Hadamard产品而言,A和B的列和行大小必须相同是正确的.对于点积,仅A的列大小必须与B的行大小相同,对吗?所以我可以查找两者的形状并找出使用了哪个操作? 解决方案 这在 ..
发布时间:2021-05-29 20:53:22 Python

没有for循环的子数组的点积

当我们拥有: 数组1:A,形状(49998,3,3)阵列2:B,形状(3,49998) 我想将它们的子数组相乘以获得 数组3:C,shape(3,49998) 我正在使用生成器的 def genC(A,B):对于itertools.izip(A,B.T)中的a,b:c = np.dot(a,b)产量c.T [0]C = np.array([genC()中c代表c)].T 那么我 ..
发布时间:2021-04-09 20:50:50 Python

Spark Scala中的点产品

我在Spark Scala中有两个数据框,其中每个数据框的第二列都是数字数组 val data22 = Seq((1,List(0.693147,0.6931471)),(2,List(0.69314,0.0)),(3,List(0.0,0.693147))).toDF("ID","tf_idf")data22.show(truncate = false)+ --- + ----------- ..
发布时间:2021-04-08 19:39:02 其他开发

使用C#Vector< T> SIMD查找匹配元素的索引

使用C#的Vector,我们如何最有效地向量化查找集合中特定元素的索引的操作? 作为约束,集合将始终是整数基元的Span,并且最多包含1个匹配元素. 我想出了一个看起来还不错的解决方案,但是我很好奇我们能否做得更好.方法是: 在每个插槽中创建一个仅包含目标元素的Vector. 在输入集向量和上一步中的向量之间使用Vector.Equals(),以得到一个掩码, ..
发布时间:2020-11-30 04:48:42 C#/.NET

AVX2:512个浮点数组的计算点积

首先,我将是SIMD内部函数的一个完整的初学者. 从本质上讲,我有一个支持AVX2内部(Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz)的CPU.我想知道计算大小为512的两个std::vector的点积的最快方法. 我已经在网上进行了一些挖掘,发现此和此堆栈溢出问题建议使用下面的函数__m256 _mm256_dp_ps(__m256 ..
发布时间:2020-07-22 23:43:59 C/C++开发

R中多个向量的点积以优化宠物小精灵团队

我的计划是创建一种选择最佳口袋妖怪队伍的方法.我不确定如何从16个防御向量与12个向量的点积中创建12个向量的所有可能组合的列表,然后对atk向量执行相同的操作.我的另一个问题是找到一种方法来汇总每个团队中宠物小精灵的总价值.我希望我的结果看起来像这样的矩阵: 团队........总统计数据...... Atk得分..... .....................国防得分 (6个宠 ..
发布时间:2020-06-12 19:17:57 其他开发

python中的点积

此Python代码实际上找到了两个向量的点积吗? import operator vector1 = (2,3,5) vector2 = (3,4,6) dotProduct = reduce( operator.add, map( operator.mul, vector1, vector2)) 解决方案 您还可以使用 ..
发布时间:2020-06-12 19:17:50 Python

张量流中两个向量的点积

我想知道是否有一种简单的方法来计算两个向量(即一维张量)的点积并返回张量流中的标量值. 给定两个向量X =(x1,...,xn)和Y =(y1,...,yn),点积为 点(X,Y)= x1 * y1 + ... + xn * yn 我知道,可以通过首先将向量X和Y广播到2-d张量,然后使用tf.matmul来实现.但是,结果是一个矩阵,我在标量之后. 是否有像tf.matmul这 ..
发布时间:2020-06-12 19:17:47 Python