parallel-processing相关内容

并行计算 Pi 的快速算法

我开始学习 CUDA,我认为计算 pi 的长数字会是一个不错的入门项目. 我已经实现了易于并行化的简单蒙特卡罗方法.我只是让每个线程在单位正方形上随机生成点,计算出单位圆内有多少个点,然后使用归约运算计算结果. 但这肯定不是计算常数的最快算法.之前,当我在单线程 CPU 上做这个练习时,我使用了 Machin-like formulae进行计算以实现更快的收敛.对于那些感兴趣的人,这涉 ..
发布时间:2022-01-10 16:14:19 其他开发

如何让已经编写好的并发程序在 GPU 阵列上运行?

我有一个用 Erlang 编写的神经网络,我刚买了一张带有 240 核 GPU 的 GeForce GTX 260 卡.使用 CUDA 作为胶水在显卡上运行它是不是很简单? 解决方案 不,使用 CUDA 不是小事. CUDA 编程模型基本上使用 C(添加了一些内容),但为了充分利用 GPGPU 的功能,您必须确保您的算法遵循 CUDA 指南.(参见NVidia CUDA 编程指南) ..
发布时间:2022-01-10 16:12:45 其他开发

并行基数排序,这个实现实际上是如何工作的?有一些启发式方法吗?

我正在为他们的并行编程课程做一个 Udacity 测验.我很困惑我应该如何开始作业,因为我不确定我是否理解正确. 对于赋值(在代码中),我们得到了两个数组和值数组以及一个位置数组.我们应该使用并行基数排序对值数组进行排序,同时正确设置位置. 我完全了解基数排序及其工作原理.我不明白的是他们希望我们如何实施它.这是开始分配的模板 //Udacity HW 4//基数排序#include ..
发布时间:2022-01-10 15:49:14 其他开发

可以直接从gpu访问硬盘吗?

是否可以直接从 GPU (CUDA/openCL) 访问硬盘/闪存盘并直接从 GPU 的内存加载/存储内容? 我试图避免将内容从磁盘复制到内存,然后再将其复制到 GPU 的内存. 我阅读了有关 Nvidia GPUDirect 的信息,但不确定它是否符合我上面的解释.它讨论了远程 GPU 内存和磁盘,但在我的例子中,磁盘是 GPU 本地的. 基本思想是加载内容(类似于 dma)- ..
发布时间:2022-01-10 15:48:17 其他开发

组合迭代器,例如 expand.grid

有没有一种快速的方法来迭代像 expand.grid 或 CJ (data.table) 返回的那些组合.当有足够的组合时,它们会变得太大而无法放入内存.itertools2 库(Python 的 itertools 的端口)中有 iproduct 但它真的很慢(至少我使用它的方式 - 如下所示).还有其他选择吗? 这是一个示例,其想法是将函数应用于来自两个 data.frames 的每个行 ..
发布时间:2022-01-10 15:07:06 其他开发

Java8中迭代器和拆分器的区别

我在研究Parallelism 是Spliterator 的主要优势时了解到. 这可能是一个基本问题,但谁能解释一下 Iterator 和 Spliterator 之间的主要区别并举一些例子吗? 解决方案 对我来说,这些名称几乎是不言自明的.Spliterator == Splittable Iterator :它可以拆分一些源,它也可以迭代它.它与 Iterator 的功能大致相同 ..
发布时间:2022-01-10 14:40:16 其他开发

python - 如何并行化python numpy中的总和计算?

我有一个要计算的总和,但在并行化代码时遇到了困难.我试图并行化的计算有点复杂(它同时使用 numpy 数组和 scipy 稀疏矩阵).它吐出一个 numpy 数组,我想对大约 1000 个计算的输出数组求和.理想情况下,我会保留所有迭代的运行总和.但是,我一直无法弄清楚如何做到这一点. 到目前为止,我已经尝试将 joblib 的 Parallel 函数和 pool.map 函数与 pytho ..
发布时间:2022-01-09 16:06:06 Python

CUDA - 实现设备哈希映射?

有没有人有在 CUDA 设备上实现哈希映射的经验?具体来说,我想知道如何在设备上分配内存并将结果复制回主机,或者是否有任何有用的库可以促进这项任务. 似乎我需要先验知道哈希映射的最大大小才能分配设备内存.我之前的所有 CUDA 尝试都使用了数组和 memcpys,因此相当简单. 感谢您对此问题的任何见解.谢谢. 解决方案 Jason Sanders 和 Edward Kandr ..
发布时间:2022-01-08 14:28:46 其他开发

在 Spark 中嵌套并行化?正确的做法是什么?

嵌套并行化? 假设我正在尝试在 Spark 中执行相当于“嵌套 for 循环"的操作.就像在常规语言中一样,假设我在内部循环中有一个例程,它以 Pi 的方式估计 Pi平均 Spark 示例确实如此(请参阅估算 Pi) i = 1000;j = 10^6;计数器 = 0.0;for ( int i =0; i 我可以在 Spark 中嵌套并行化调用吗?我正在尝试并且还没有解决问题.很乐意 ..
发布时间:2022-01-07 13:57:25 Java开发

为什么GPU可以比CPU更快地做矩阵乘法?

我已经使用 GPU 一段时间了,但我没有质疑它,但现在我很好奇. 为什么GPU做矩阵乘法的速度比CPU快得多?是因为并行处理吗?但是我没有写任何并行处理代码.它自己会自动完成吗? 任何直觉/高级解释将不胜感激! 解决方案 你如何并行化计算? GPU 能够进行大量并行计算.比 CPU 能做的要多得多.看看这个向量相加的例子,假设有 1M 个元素. 使用 CPU 假设您 ..

Tomcat 响应 HTTP 503

我托管了我的应用程序,并进行了一些压力测试,我注意到在并行处理大约 50 个请求时,服务器响应 HTTP 503. 这是什么意思?可能是一些特定的配置限制了来自Tomcat的请求数量? 谢谢. 解决方案 这通常意味着您已经用完了线程来处理请求.您可以尝试增加 Tomcat server.xml 文件中的 maxThreads,或者如果您使用 Apache HTTP 服务器作为前 ..
发布时间:2022-01-05 15:43:07 服务器开发

F# Async.Parallel 会加速计算吗?

“Async.Parallel"结构真的有助于在多核系统上加快计算速度吗?.NET TPL“任务"是否以某种方式参与其中? 开放系统;let key = Console.ReadKey(true);让开始 = System.DateTime.Nowlet pmap f l = seq { for a in l do yield async {return f a} } |>异步并行|>Async ..
发布时间:2022-01-05 10:20:09 其他开发

F# 是否为您提供自动并行性?

我的意思是:当你设计你的应用无副作用时,F# 代码会自动分布到所有内核吗? 解决方案 不,恐怕不行.鉴于 F# 不是纯粹的函数式语言(从最严格的意义上说),我相信这样做会相当困难.在 F# 中充分利用并行性的主要方法是使用 Async Workflows(我相信主要是通过 Async 模块).随 .NET 4.0 一起引入的 TPL(任务并行库)将在 F# 中扮演类似的角色(但值得注意的是 ..
发布时间:2022-01-05 10:13:03 其他开发

为什么 Clojure 在执行我的计算后挂起?

我正在尝试并行过滤元素.对于每个元素,我需要执行距离计算,以查看它是否足够接近目标点.不要介意已经存在用于执行此操作的数据结构,我现在只是在做初步实验. 无论如何,我想运行一些非常基本的实验,在其中生成随机向量并对其进行过滤.这是我的实现,可以完成所有这些 (defn pfilter [pred coll](地图第二(先过滤(pmap (fn [item] [(pred item) ite ..
发布时间:2022-01-02 23:12:36 其他开发

如何有效地并行应用中等权重的函数

我希望将一个适度昂贵的函数并行映射到一个大的惰性 seq.pmap 很棒,但我在上下文切换方面失去了很多.我想我需要增加传递给每个线程的工作块的大小. 我写了一个函数来将 seq 分成多个块,并将该函数 pmap 到每个块上并重新组合它们.这“有效",但结果并不壮观.原始代码基本上是这样的: (pmap eval-polynomial (range x) coificients) 我怎样 ..
发布时间:2022-01-02 23:04:59 其他开发

线程安全删除链表节点,使用细粒度方法

为什么以下用于删除链表中节点的代码段不是线程安全的? 编辑:注意每个节点都有自己的锁 //... 这里获取锁//... 假设在这里有效上一个->下一个= p->下一个;p->next = NULL;p->删除=1; 解决方案 它是线程安全的,假设你的锁的作用域(意味着它锁定了什么,什么都不做)C) 中使用的官方术语“范围"足够大. 如果它只锁定当前节点p,那么你就不能依赖其他没有 ..
发布时间:2022-01-01 18:20:48 其他开发