我最近在我的Ubuntu 12.04上安装了ArrayFire 2.1。我想用Python,它有可能吗?我尝试了ArrayFire_Python,但它不完整,并且不包含rotate
等功能。我已导出AF_PATH=/opt/arrayfire
。
ArrayFire运作良好:
1 - 我做过(在examples / helloworld上)
make cuda
2 - 运行:
./helloworld_cuda
3 - 获取:
ArrayFire v2.1 (CUDA, 64-bit Linux, build fd32605)
License: Standalone (/opt/arrayfire/arrayfire.lic)
License expires in 15 days.
Addons: MGL16, DLA, SLA
Platform: CUDA toolkit 6.0, Driver: 340.29
0 : GeForce GTX 480, 1536 MB, CUDA Compute 2.0
Memory Usage: 1366 MB free (1536 MB total)
create a 5-by-3 matrix of random floats on the GPU
A [5 3] =
0.7402 0.4464 0.7762
0.9210 0.6673 0.2948
0.0390 0.1099 0.7140
0.9690 0.4702 0.3585
0.9251 0.5132 0.6814
element-wise arithmetic
B [5 3] =
0.7744 0.5317 0.8006
0.8962 0.7189 0.3905
0.1390 0.2097 0.7549
0.9243 0.5531 0.4509
0.8987 0.5910 0.7299
Fourier transform the result
C [5 3] =
3.6327 + 0.0000i 2.6043 + 0.0000i 3.1267 + 0.0000i
0.4689 + 0.4640i 0.3193 + 0.0802i 0.1713 + 0.1441i
-0.3491 - 0.7454i -0.2923 - 0.4018i 0.2667 + 0.4886i
-0.3491 + 0.7454i -0.2923 + 0.4018i 0.2667 - 0.4886i
0.4689 - 0.4640i 0.3193 - 0.0802i 0.1713 - 0.1441i
grab last row
c [1 3] =
0.4689 - 0.4640i 0.3193 - 0.0802i 0.1713 - 0.1441i
zero out every other column
negate the first three elements of middle column
B [5 3] =
0.0000 -0.5317 0.0000
0.0000 -0.7189 0.0000
0.0000 -0.2097 0.0000
0.0000 0.5531 0.0000
0.0000 0.5910 0.0000
create 2-by-3 matrix from host data
D [2 3] =
1.0000 3.0000 5.0000
2.0000 4.0000 6.0000
copy last column onto first
D [2 3] =
5.0000 3.0000 5.0000
6.0000 4.0000 6.0000
答案 0 :(得分:2)
要使绑定生效,首先需要安装和运行ArrayFire(你有),但是你需要将arrayfire目录从github移动到你的python库目录。
在我的Ubuntu 14.04服务器上,我将其移至/usr/lib/python2.7/目录。
从ipython开始,'import arrayfire'现在将导入库。以下代码将创建一个数组2048x2048并将其相乘:
import arrayfire as af
# create the array
A = af.constant(1,2048,2048)
B = af.matmul(A, A)
答案 1 :(得分:2)
arrayfire的Python绑定现在是PyPi的一部分,因此您可以使用pip install arrayfire
安装它们。