为我的抽象代数库创建一个开放的CL版本值得吗?

2024-04-20 07:32:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python制作一个抽象代数库,它所做的一件事就是使用Cayley表(把它看作一个抽象的“乘法”表,它不必遵守乘法或加法的标准规则),并用它来证明由凯莱桌子。你知道吗

这些程序的计算基本上归结为:

  1. 使用Cayley表中的值来获得一些抽象二进制运算的结果
  2. 比较结果值,看它们是否相等
  3. 在一个循环中多次执行上述操作。你知道吗

由于需要执行大量的操作,这可能会占用大量的cpu资源,特别是如果要对大小为n*n(O(n^2!)的cayley表的所有排列执行此操作的话为此,我想)。好的是,这是高度并行的,因为我有算法,可以在大约O(n)个时间内计算n*n个cayley表的第m个置换,因此所有cayley表置换的集合可以几乎均匀地分割,并且可以分配多个进程并行处理问题的不同子集。你知道吗

像这样的过程(替换查找表中的值,比较结果)是否适合opencl或其他GPU库?你知道吗


Tags: 程序证明算法标准高度进程规则时间
1条回答
网友
1楼 · 发布于 2024-04-20 07:32:41

如果你能改变

Compare the resulting values to see if they are equal

和这样的事情分开

subtract one from another, save the result and check for a zero from host side.

如果结果只决定一个加法(+)运算,那么即使是

subtract one from another, multiply (1-signum(result)) with the adder value, then add.

可以比cpu快。因为当以非随机方式读/写时,gpu内存通常比主机内存稍微快一些。你知道吗

相关问题 更多 >