JuliaGPU/GPUArrays.jl
Reusable array functionality for Julia's various GPU backends.
解决的问题
为在 Julia 中创建新 GPU 数组类型的开发者提供一套标准化的工具和接口。开发者无需为每个新的硬件后端从头构建 GPU 数组功能,而是可以使用此包加速实现过程,并确保与更广泛的 Julia 生态系统兼容。
工作原理
它作为 Julia 的 AbstractArray 接口在 GPU 上的对应物。它定义了一组后端开发者必须实现的接口方法(如 dense_array_type 和 sparse_array_type),以支持密集数组和稀疏数组。它还为各种稀疏格式(CSC、CSR、COO 和 BSR)提供设备端数组类型,并提供与后端无关的包装器,支持 GPU 稀疏数组上的广播和 mapreduce 操作。
适用对象
此包旨在供开发 GPU 后端的开发者使用(例如 CUDA.jl、oneAPI.jl、AMDGPU.jl 或 Metal.jl 的创建者),而非终端用户。
主要亮点
- 与后端无关的包装器:为 GPU 稀疏数组提供开箱即用的广播和
mapreduce支持。 - 稀疏数组支持:包含 CSC、CSR、COO 和 BSR 矩阵的设备端类型,以及稀疏向量。
- 接口标准化:定义了实现主机端和设备端数组转换的明确方法集。
相关
- 项目
- 项目
- 项目
- 项目
- 项目