通过cffi使用futhark c后端的python库
futhark-ffi的Python项目详细描述
Futhark外国金融机构
通过cffi使用futhark c后端的python库
futhark提供了几个编译器后端,futhark opencl
是一个c后端,futhark pyopencl
是一个基于pyopencl的python后端。然而,python后端的主机端代码相当慢,在使用小而频繁的内核时会导致大量开销。
减少此开销的解决方案是使用cffi从python使用c后端,从而大大减少调用开销。opencl代码是相同的,因此对于长时间运行的内核来说这并不有趣。
这个库同时支持futhark opencl
和futhark c
。Futhark阵列映射到Numpy阵列并从Numpy阵列映射。支持多输出和多维数组。
安装
Install Futhark,然后简单地
pip install futhark-ffi
用法
生成一个c库,并为它构建一个python绑定
futhark opencl --library test.fut
build_futhark_ffi test
使用python包装器
importnumpyasnpimport_testfromfuthark_ffiimportFutharktest=Futhark(_test)res=test.test3(np.arange(10))test.from_futhark(res)