Questions tagged «parallel-computing»

有关在多个处理单元上同时计算的算法或程序的问题。不要与并发或分布式计算相混淆!

1
使用处理器在时间中找到最大值的并行算法
我们在课堂上介绍了一种算法,该算法可在台计算机上以时间复杂度并行查找数组中的最大值。n 2O (1 )O(1)O(1)ñ2n2n^2 该算法是: 给定长度为n的数组A: 制作一个长度为n的标志数组B,并在台计算机上将其初始化为零。ñnn 比较每2个元素,并使用台计算机以最小值的索引在B中写入1 。ñ2n2n^2 在台计算机的A中找到带有0的索引。ñnn 讲师嘲笑我们可以使用计算机和时间复杂度来完成。登录nñ日志ñnlog⁡n\frac{n}{\log n}日志ñlog⁡n\log n 经过一番思考,我不知道该怎么做。任何的想法?

1
为什么在GPU上进行比较如此昂贵?
在尝试提高碰撞检测类的性能时,我发现在gpu上花费了大约80%的时间,它花费在if / else条件上只是试图弄清楚应该循环通过的存储桶的界限。 更确切地说: 每个线程都有一个ID,通过该ID从内存中获取其三角形(每个3个整数),并通过这3个线程获取其顶点(每个3个浮点)。 然后将顶点转换为整数网格点(当前为8x8x8),并将其转换为该网格上的三角形边界 要将3个点转换为边界,它会在每个点中找到每个维度的最小值/最大值 由于我使用的编程语言缺少minmax内在函数,因此我自己做了一个代码,看起来像这样: procedure MinMax(a, b, c): local min, max if a > b: max = a min = b else: max = b min = a if c > max: max = c else: if c < min: min = c return (min, max) …

2
Curry-Howard同构的并行或并发程序的当前状态是什么?
在吉拉德的证明和类型中,我们可以阅读: 从算法的角度来看,后续的演算不具有Curry-Howard同构性,因为有许多编写相同证明的方式。这使我们无法将其用作类型化的演算,尽管我们瞥见了这种可能与并行性相关的深层结构。λλ\lambda 证明和类型,JY Girard(页28) 但是我们也可以阅读(关于线性逻辑) 从计算机科学的角度来看,它为懒惰,副作用和内存分配[GirLaf,Laf87,Laf88]问题提供了一种新方法,并有望应用于并行性。 证明和类型,JY Girard(第149页,Yves Lafont撰写) 并行程序如何与Curry-Howard同构关联?目前对此有何想法?

1
可以用map-reduce运算来表达人工神经网络算法吗?
可以用map-reduce运算来表达人工神经网络算法吗?我还更一般地对应用于ANN的并行化方法及其在云计算中的应用感兴趣。 我认为一种方法将涉及在每个节点上运行完整的ANN并以某种方式集成结果以便将网格像单个实体一样对待(就输入/输出和机器学习特性而言)。即使在这种情况下,我也很好奇这样的整合策略可能会是什么样子。

1
连接可以并行化吗?
假设我们要在谓词上加入两个关系。这是在NC吗? 我意识到,证明它不在NC中就等于证明,因此我将接受它是一个开放性问题的证据作为答案。P≠ NCP≠ñCP\not=NC 我对一般情况和特定情况都感兴趣(例如,可能具有某些特定的数据结构,可以将其并行化)。 编辑:将评论中的一些澄清带入这篇文章: 我们可以考虑等值。在单个处理器上,基于哈希的算法在,这是我们能做的最好的事情,因为我们必须读取每个集合一。X = 乙。ÿ一个。X=乙。ÿA.x = B.yO (| A | + | B |)Ø(|一个|+|乙|)O(|A|+|B|) 如果谓词是一个“黑匣子”,我们必须检查每对,则配对,而每个配对都可能存在或不存在,因此有可能性。检查每一对将可能性减半,所以我们能做的最好的就是。| A | ⋅ | B ||一个|⋅|乙||A|\cdot|B|2一b2一个b2^{ab}O (a b )Ø(一个b)O(ab) 是否可以将其中的一个(或某些第三种类型的连接)改进为在多个处理器上?日志ķñ日志ķ⁡ñ\log^k n
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.