什么是julia binding,我具体需要做些什么?
如何Clang绑定,当我写好一个简单的module,如何实现pkg>add *****
不知道你说的绑定的方向是什么
- Julia 调用 C:调用 C 和 Fortran 代码 · Julia中文文档
- C 调用 Julia:嵌入 Julia · Julia中文文档
写新的 pkg 根据文档的指导生成: Pkg · Julia中文文档
也可以看看这个(可能有点老) JuliaLang/Example.jl: Example Julia package repo.,或者看看其他包是怎么做的
一些写好的CPP文件,上百个共同组成一个应用。不是创建一个新的package目录,而是在不改变代码的情况下通过调用这些CPP加快GPU计算效率
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())
你需要运算符重载。Array是CPU上的,CuArray是GPU 上的。如果你是想做代码分析然后自动生成magma调用的kernel,那么你需要使用Cassette.jl做contextual programming