
[英]Implementing a reduction operation for finding the maximum difference of numbers?
我正在寻找合适的基于流的缩减操作来找到双列表的最大差异。 (请不要使用旧式嵌套 for 循环的解决方案...) 假设我的双列表是List<Double> list = List.of(1.1, 0.3, 7.8, 1.0, 9.1, 2.3); 那么最大差异将导致价值9.1 - 0. ...
[英]Implementing a reduction operation for finding the maximum difference of numbers?
我正在寻找合适的基于流的缩减操作来找到双列表的最大差异。 (请不要使用旧式嵌套 for 循环的解决方案...) 假设我的双列表是List<Double> list = List.of(1.1, 0.3, 7.8, 1.0, 9.1, 2.3); 那么最大差异将导致价值9.1 - 0. ...
[英]Is there a simple way to reduce this set of tuples in Python
在一组元组(对)中,如下所示: 我想删除所有对 (a, b) 和 (a, c),因此结果集是: 有没有一种简单的方法可以做到这一点? ...
[英]Efficient floating point modulus one in C
我正在寻找一种 CPU 效率非常高的方法来计算 C 中的浮点模数一(包括负值)。 我将它用于归一化相位减少(包装,即 7.6 -> 0.6、0.2->0.2、-1.1 -> 0.9 等等)。 据我了解, fmod() 以及 floor() 通常效率很低。 我不需要 function ...
[英]Postgresql sequential add/remove reduction operation
我有一个表,其中包含行号和标识符的“定义”或“取消定义”事件。 例子: 我想计算每一行的“实时变量”信息。 迭代地,我只需编写类似以下伪代码的代码: 预期的结果是如下表: 我设法将等效的顺序循环编写为 plpgsql 函数。 但是,我想知道是否有一种(也许更优雅)的方式作为 SQL 查询 ...
[英]sum up an array in the special style of reduction | (i * 2)
我目前正在处理我在网上找到的 java 问题。 我们有一个数组,其中包含数千(如果不是数百万)条目。 目标是有效地获得数组的全部总和。 第一种方法是简单地将值相加。 这就是我解决它的方法:for (int i = 0; i < array_size; i++) sum += array[i] ...
[英]Code for #into: is related to the code for #inject:into: , but must be solving a different problem. Explain the difference?
这是做什么的,有没有更简单的写法? ...
[英]Thrust is very slow for array reduction
我正在尝试使用 thrust 将 1M 元素的数组减少为单个值。 我的代码如下: 问题是,仅thrust::reduce在我的 RTX 3070 笔记本电脑 GPU 上运行就需要大约 4 毫秒。这比我根据Mark Harris CUDA 参考中的 reduction#4 编写的代码慢得多,后者大约需 ...
[英]Speeding up triple loop
最初我有循环 但是三重循环会大大减慢该过程。 然后,我可以将其简化为: 所以我可以保存一个循环,但是我在尝试使用 numpy 函数减少其他循环时遇到了问题。 唯一剩下的就是为每一行 sup 和 datos 重复“suma”的公式。 你知道怎么做吗? ...
[英]OpenCL sum `cl_khr_fp64` double values into a single number
根据这个问题和这个问题,我设法编译了一个在 OpenCL 1.2 中将向量求和为单个双精度的最小示例。 /* https://suhorukov.blogspot.com/2011/12/opencl-11-atomic-operations-on-floating.html */ i ...
[英]Strategy for reducing CNF-SAT to this problem
假设有一个可满足性问题(称为 oscillating-CNF),其中输入是 CNF 子句的列表,我们想要证明这个问题确实是 NP 完全的(通过将 CNF-SAT 简化为 oscillating-CNF)。 当每个偶数索引子句 (0-2-4) 为真且每个非偶数索引子句为假 (1-3-5...) 时,一 ...
[英]last warp loop unrolling in Nvidia's parallel reduction tutorial problem
在 Nvidia 的并行缩减教程中,我在理解“最后一个扭曲循环展开”技术背后的逻辑时遇到了一个问题。 如果是thread31 (其中tid=31 ),在展开循环之前: 这个线程只执行这些操作: 但是在循环展开之后(如下图): 条件if(tid < 32)对于thread31为真, warp ...
[英]memory bank conflict in parallel reduction sequential addressing
我正在阅读来自 NVIDIA 的幻灯片,讨论此处提供的并行缩减算法。 在幻灯片 15 中: 作者讨论了使用顺序寻址,我们避免了 memory 库冲突。 我认为这是错误的,这就是我的理由:在幻灯片 10 中,我们假设每个线程块内部有 128 个线程。 在图片中蓝色框中提供的顺序代码中,线程 0 尝试 ...
[英]Stuck in writing python list reduction program
我一直在为以下问题编写 python 代码,任何人都可以帮助找到代码问题,非常感谢。 清单缩减: 您将获得一个大小为 N 的整数 L 和 integer K 的列表。您最多可以对列表执行以下操作 k 次: 选择列表中的任意两个元素。 将任何元素乘以 2。 将另一个元素除以 2,如果元素是奇数则取上限 ...
[英]Leftmost-Innermost and Outermost(Haskell)
您好我有一个问题,我不太了解 Function 中 Haskell 的减少: 我如何使用这个 function 来解释列表中的缩减步骤(例如remdups [3,7,3,7,5,7] ) ...
[英]Parallel Reduction does not work correctly
我在 OpenCL 上编写了以下并行内核缩减。 我只想对BlockSum数组中的所有值BlockSum 。 使用work_group_reduce_add(BlockSum[GetIndex]); 使用我从https://www.fz-juelich.de/SharedDocs/Downloads/ ...
[英]Make a reduction with OpenMP to compute the final summed value of an element of matrix
我有以下双循环,我计算矩阵Fisher_M[FX][FY]的元素。 我试图通过#pragma omp parallel for schedule(dynamic, num_threads)放置一个 OMP pragma #pragma omp parallel for schedule(dynami ...
[英]CUDA array reduction optimisation
我有两个 arrays x (大小为 N ~1-1 亿)和a (小得多的 Na ~1000-10000),我想用x将a定义为for(int j = 0; j < N; j++) { float i = floor( x[j] / da); // in principle i < s ...
[英]Vulkan compute shader for parallel sum reduction
我想在 Vulkan 的计算着色器中实现这个算法https://dournac.org/info/gpu_sum_reduction 。 在 OpenCL 中,这很容易,因为我可以明确声明哪些缓冲区是__local ,哪些是__global 。 不幸的是,我似乎在 Vulkan 中找不到任何此类机制 ...
[英]Why OpenMP reduction is slower than MPI on share memory structure?
我试图测试两个向量的内积(元素值是动态计算的)的 OpenMP 和 MPI 并行实现,并发现 OpenMP 比 MPI 慢。 我使用的 MPI 代码如下, 我已经尝试了几种不同的 OpenMP 实现。 这是我可以实现的不复杂且接近最佳性能的版本。 这是我的测试结果: 谁能告诉我我错过了什 ...
[英]CUDA reduce non-contiguous sub-arrays
我正在为一个库编写一个函数,该函数接受一个包含 2 次幂元素的大型数组(在 GPU 内存中)。 此函数必须对不连续的子数组(长度相等,也是 2 的幂)求和,以生成更小(或很少,大小相等)的数组。 这是此处描述的 OpenMP 函数的 GPU 版本。 例如, 缩减子数组的元素由用户给定的位索引列 ...