Julia中GPU上的BigInt计算

时间:2020-06-04 20:57:13

标签: julia biginteger

我需要对非常大的整数的随机批次执行计算。我有一个比较某些属性的数字并基于这些属性返回值的函数。由于批次和数量本身可能非常大,因此我想利用GPU加快处理速度。 这是我现在仅在CPU上运行的内容的简短版本。

using Statistics

function check(M)
    val = 0
    #some code that calculates val based on M, e.g. the mean
    val = mean(M) 
    return val
end

function distribution(N, n, exp) # N=batchsize, n=# of batches, exp=exponent of the upper limit of the integers
    avg = 0
    M = zeros(BigInt, N)
    for i = 1 : n
        M = rand(1 : BigInt(10) ^ exp, N)
        avg += check(M)
    end
    avg /= n
    println(avg, ":", N)
end

#example
distribution(10 ^ 3, 10 ^ 6, 100)

我曾在Julia中短暂使用过CUDAnative,但我不知道如何实现BigInt计算。该软件包将是首选,但其他软件包也可以。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

BigInt仅是CPU,因为它们未在Julia中实现,请参见1