Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

ArrayFire implements many algorithms that Fortran has (such as statistics, reductions etc), but it also has many image processing functions. We are working on pushing Machine Learning, Computer Vision and Graph related algorithms in the next few weeks.

The library also implements the algorithms in three backends (CUDA, OpenCL and native CPU) using the same API. We'll be adding support for SSE/AVX/NEON to make it more performance portable inthe future.



How does it's performance compare to Intel's MKL on a CPU?


The current CPU implementation is single core, non-vectorized code. That said, ArrayFire can link with any BLAS / LAPACK library to accelerate the relevant algorithms.

EDIT: The CUDA and OpenCL backends will obviously be faster than MKL. We'll be adding SSE / AVX support at some point which'll make the CPU backend faster as well.


In a similar vein, how does this compare with (say) CuBLAS or ClMath?


We depend on those libraries. We make the API easier to understand while keeping the performance close to the upstream libraries.


did you look at http://www.yeppp.info for sse/avx support?


Ha! We interviewed the author of that library!


Do you have any plans for (a) shortest path algorithm(s)?


We are actually very interested in graph algorithms and analytics and recently started to work on these. The first analytic that we tackled was triangle counting for social networks.

We wrote some blogs on this:

-http://arrayfire.com/triangle-counting-in-graphs-on-the-gpu-...

-http://arrayfire.com/triangle-counting-in-graphs-on-the-gpu-...

We plan on looking at additional algorithms in the future.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: