-
numCppArrayFire -
自动求导
-
卷积
-
支持 GPU
-
分布式
source setEnv.sh # 设置环境变量
./build.sh
# 在 build/libs 下生成 origindl.so
# 在 build/bin/ 下生成所有的测试程序
本项目使用 ArrayFire 库进行张量操作。以下是配置和使用 ArrayFire 的说明。
项目使用环境变量 ARRAYFIRE_PATH
来指定 ArrayFire 的安装路径。您可以通过以下方式设置此环境变量:
项目提供了 setEnv.sh
脚本,默认将 ArrayFire 路径设置为 /opt/arrayfire
:
source setEnv.sh
如果您的 ArrayFire 安装在其他位置,可以手动设置环境变量:
export ARRAYFIRE_PATH=/path/to/your/arrayfire
export LD_LIBRARY_PATH=${ARRAYFIRE_PATH}/lib64:$LD_LIBRARY_PATH
编译成功后,可以运行测试程序:
./build/bin/dl_variable
./build/bin/dl_function
./build/bin/dl_backward
./build/bin/dl_numericalDiff
ArrayFire 支持多种计算后端(CPU、CUDA、OpenCL)。默认情况下,ArrayFire 会自动选择可用的最佳后端。您可以通过以下方式显式指定后端:
// 在代码中设置后端
af::setBackend(AF_BACKEND_CPU); // 使用 CPU 后端
af::setBackend(AF_BACKEND_CUDA); // 使用 CUDA 后端
af::setBackend(AF_BACKEND_OPENCL); // 使用 OpenCL 后端
或者通过环境变量设置:
export AF_BACKEND=CPU # 使用 CPU 后端
export AF_BACKEND=CUDA # 使用 CUDA 后端
export AF_BACKEND=OPENCL # 使用 OpenCL 后端