JuliaGP绑定究竟是什么?


#1

什么是julia binding,我具体需要做些什么?
如何Clang绑定,当我写好一个简单的module,如何实现pkg>add *****


#2

不知道你说的绑定的方向是什么

写新的 pkg 根据文档的指导生成: Pkg · Julia中文文档
也可以看看这个(可能有点老) JuliaLang/Example.jl: Example Julia package repo.,或者看看其他包是怎么做的


#3

一些写好的CPP文件,上百个共同组成一个应用。不是创建一个新的package目录,而是在不改变代码的情况下通过调用这些CPP加快GPU计算效率


#4

如果你是要从Julia里调用C++,可以考虑 Cxx 或者 Clang

前者里面你应该可以直接调用C++模板。还是比较方便,如果有具体的问题可以贴代码上来。


#5
module magma
using CuArrays
using CUDAdrv
   
    function add(a::Array,b::Array)
        length1::Int64=sizeof(a)/8;
        println(length1);
        for i in 1:length1
            a[i]=a[i]+b[i]
        end
        println(a)
    end
end

比如这个小模块,怎么在不改变原有代码(a+b)的情况下实现矩阵加法(直接输入a+b将调用magma.add())


#6

你需要运算符重载。Array是CPU上的,CuArray是GPU 上的。如果你是想做代码分析然后自动生成magma调用的kernel,那么你需要使用Cassette.jl做contextual programming