3

我最近在我的 Ubuntu 12.04 上安装了 ArrayFire 2.1。我想将它与 Python 一起使用,可以吗?我尝试了 ArrayFire_Python但它不完整,并且它不包括rotate. 我已经导出了AF_PATH=/opt/arrayfire.

ArrayFire 运行良好:

1 - 我做了(在示例/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 
4

2 回答 2

3

arrayfire 的 Python 绑定现在是 PyPi 的一部分,因此您可以使用pip install arrayfire.

于 2015-09-27T15:47:58.830 回答
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)
于 2015-08-29T18:22:59.400 回答