Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ArrayFire and Python

I've recently installed ArrayFire 2.1 on my Ubuntu 12.04. I want to use it with Python, is it possible? I tried ArrayFire_Python but it is incomplete, and it does not include functions such as rotate. I have exported the AF_PATH=/opt/arrayfire.

ArrayFire is working well:

1 - I did (at examples/helloworld)

make cuda

2 - Run:

./helloworld_cuda

3 - Get:

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 
like image 325
FacundoGFlores Avatar asked Mar 03 '26 06:03

FacundoGFlores


1 Answers

The Python bindings of arrayfire are now part of PyPi so you can install them with pip install arrayfire.

like image 71
Filipe Maia Avatar answered Mar 05 '26 21:03

Filipe Maia



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!