问题标签 [arrayfire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2027 浏览

python - ArrayFire 和 Python

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

ArrayFire 运行良好:

1 - 我做了(在示例/helloworld)

2 - 运行:

3 - 获得:

0 投票
4 回答
7592 浏览

matlab - CPU 和 GPU 中的 SVD 速度

我正在测试svdMatlab R2014a似乎没有CPUvsGPU加速。我正在使用GTX 460卡和Core 2 duo E8500.

这是我的代码:

此外,运行时间因运行而异,但CPU版本GPU大致相同。为什么没有加速?

这里有一些测试

0 投票
2 回答
305 浏览

c++ - arrayfire/lib64 和 libafcu 在哪里?

在我构建和安装arrayfire之后,我阅读了http://www.arrayfire.com/docs/createprojects.htm#createprojects_linux中的完整文档,但是我在我的电脑中找不到arrayfire/lib64,那么如何设置环境变量AF_PATH

而且我也没有找到libafcu.so,所以添加上面超链接中描述的标志时出现问题:

我想知道我有什么误解吗?这是我第一次尝试在 linux 中编程。

谢谢

0 投票
1 回答
723 浏览

opencv - 为什么OpenCV擅长处理大尺寸图像的ORB和Harris Keypoints检测?

几周前,我参加了由 NVIDIA 主办的 Arrayfire 网络研讨会,工程师们展示了一些有趣的图表来比较 ArrayFire 库与 OpenCV CPU(1 线程)和 GPU(CUDA)的性能。

HARRIS 关键点检测

哈里斯关键点检测

ORB关键点检测

在此处输入图像描述

我有机会问他们为什么 ArrayFire 加速(通过单线程 CPU 实现)对于大图像会降低。他们回答我说“这是因为 OpenCV CPU 非常有效地处理大规模数据” ——没有提供任何技术细节。

你知道它们可能是什么吗?

0 投票
1 回答
212 浏览

amazon-ec2 - 在 ec2 gpu 上运行 arrayfire

最近几天我们正在尝试使用 Amazon GPU 实例。但他们的显卡 NVIDIA GRID K520 仅支持 cuda 5.5。从arrayfire的安装文档中,cuda的最低版本是6.5。需要帮助才能用cuda 5.5编译arrayfire。

0 投票
0 回答
551 浏览

c++ - 大规模并行一维卷积

我现在正在使用 ArrayFire(OpenCL,而不是 cuda),我想知道是否有任何方法可以对一个非常大的(50M + 32 位浮点数)向量执行多个并行 1D 卷积(计算移动平均值)。我看过一些例子,但是随着最近的开源版本,一些旧的功能不起作用。窗口大小实际上很大(1k-10k)。FFT 方法(卷积的乘积)会比直接卷积更快吗?

0 投票
2 回答
2450 浏览

eclipse - 异常 Ljava/lang/UnsatisfiedLinkError

我目前正在尝试在 AT&T 三星 Galaxy S3 上构建和运行这个项目: https ://github.com/arrayfire/androidcl。问题是当我尝试运行时: ./ndk-build -C ~/Desktop/ArrayFire/androidcl/jni

然后我尝试通过转到“运行 -> 运行方式 -> Android 应用程序”在手机上运行它。

我收到“不幸的是,droidcl 已停止工作”。我是个菜鸟,但经过几天的研究,我认为这与 NDK 有关。在 LiveFeatureActivity 的第 19 行,“System.loadLibrary("JNIProcessor");” 是我最大的怀疑。

所有文件都在 Git 上。帮助将不胜感激,因为我尝试运行它 3 天但无济于事。

这是 ndk-build 所说的:

这是Android.mk:

我尝试进入 Android.mk 文件并直接指向 /usr/lib/libOpenCl.so (在检查库之后)但仍然无法正常工作。

这是logcat文件:

0 投票
1 回答
879 浏览

cuda - 从推力到arrayfire - gfor 用法?

我正在尝试替换一些对 arrayfire 的推力调用以检查性能。

我不确定我是否正确使用了arrayfire,因为我得到的结果根本不匹配。

所以,例如我使用的推力代码是:

阵列火:

我不确定 arrayfire 如何处理副本:af::array SlBegin( N , devRow );。在推力中,我们有从 devRow 指向 SlBegin 的设备指针,但是在 arrayfire 中..?

另外,我想问一下使用 gfor 。在arrayfire 网页中,它指出

不要直接使用此功能;请参阅 GFOR:并行 For 循环。

然后对于 GFOR :

当前版本的 ArrayFire 中禁用了 GFOR

那么,我们不能使用 gfor 吗?

- - - - -更新 - - - - - - - - - - - - - -

我有一个小的运行示例,它显示了不同的结果:

0 投票
1 回答
2337 浏览

gpgpu - 从arrayfire数组中检索值作为标准类型和序列化

我最近在 GTC 上看到了 arrayfire 的演示,我想我会尝试一下。以下是我在尝试使用它时遇到的一些问题。我正在使用 AMD App SDK 2.9-1 的 OpenCL 在 Windows 7 系统上运行 Visual Studio 2013。

  1. 最大的挫折是我无法在调试器中查看数组对象的状态以查看其中的数据。我必须依赖 af_print 语句。这很烦人。有没有办法配置调试器让我看到数组中的数据而不必打印出来?

  2. 将数据放入数组后,如何将值作为标准数据类型取回。一个例子如下所示。我正在尝试将元素 5,0 作为双倍取回。示例中的行不起作用,我无法将其转换为任何标准类型。我唯一可以分配给它的是另一个数组。如何找回我的数据?

  1. 有没有一种简单的方法可以将数组序列化/反序列化到磁盘?我没有看到这样做的方法,并且由于我无法将这些值作为标准类型取回,因此我不确定如何将其保存。

  2. 我正在浏览您提供的降雨教程示例,但它似乎给出了不正确的结果。例如,第 52 行有这个打印语句“af_print(rainfall);”。它应该打印出每个站点的降雨量,但其中包含所有 8 个,这是不正确的。我对 cpu 和 opencl 版本都进行了尝试,并得到了相同的结果。其他一些计算也是不正确的。代码看起来应该是正确的,所以这是一个错误还是代码错误?

0 投票
1 回答
381 浏览

c++ - ArrayFire 中的卷积是否使用 FFT?

我期待在我们的一个开源工具包中加快对大型医学图像(512 x 512 x 1000 双)的高斯核导数(最高 2/3 阶)的卷积。我们目前通过 FFT 进行这种卷积。

在朋友推荐了 ArrayFire 并阅读了这篇文章之后,我想看看我是否可以采用这个工具包。似乎是一项巨大的努力,使我们能够处理多个后端,尽管我目前只对 CUDA 感兴趣,因为这就是我手头的东西。

我在论坛上读到这篇文章说 ArrayFire 中的卷积在特定内核大小后切换到频域。我查看了 cuda 文件convolve.cu但我没有在 ArrayFire 或任何 cuFFT 内容中找到任何对 fft 的调用。我错过了什么吗?

展望未来,我想直接在频域中构造高斯核的导数,与图像 FFT 相乘并将其带回来。但我想比较在空间和频率域中创建卷积核之间的速度提升。此外,ArrayFire 似乎没有 3D 高斯内核。