android - 将引用的分配传递给 Renderscript 根函数?

标签 android aes renderscript

我是 Renderscript 的新手,但不是并行处理。

我正在尝试使用 Android 4.4 中的渲染脚本进行 AES ECB 设计。我正在努力寻找将必要的预分配内存结构、SBOX、输入流、输出流、扩展键传递给渲染脚本根函数的最佳方法。我的目标是让执行在可用的 GPU 上发生。

我已经阅读了有关使用分配的数组来保存每个线程应该访问的索引(In Android's Renderscript, using the rs_script_call structure to restrict the range of the allocation that is operated upon during a rsForEach call)的信息,但即便如此,我相信我还需要三个指向*输入流、*输出流和扩展键,加上 sbox。

是否可以将分配的数组复制到渲染脚本中的临时变量中,而不会导致执行与 cpu 绑定(bind)?我可以在线程 ID、工作 ID 中使用 X、Y 参数吗?我还缺少其他东西吗?

最佳答案

x, y 确实像其他计算语言中的 thread-id 一样工作。您应该为任何其他必要的输入结构(如 sboxes、扩展键等)使用全局变量。 RS 的重点是不关注 CPU 与 GPU。该设备将以最合适的方式处理事情。尝试将某些东西强加到 GPU 上可能会导致性能下降,因为 GPU 可能也忙于处理实际的图形工作。

关于android - 将引用的分配传递给 Renderscript 根函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27098350/

相关文章:

android - 如何分配要在 ScriptIntrinsic3DLUT 上使用的 LUT?

android - Renderscript 不可调用函数

Android - 即使将 kotlin 用作语言,Java 包名称也不会更改为 Kotlin

java - 是否可以编写一个在 android 上运行的普通旧 java 程序?

python - Pycrypto AES-CTR 实现

aes - 为什么 AES 的所有输入都必须是 16 的倍数?

android - 如何 root Android 设备/如何从真正的没有开启Root的设备获取 Sqlite 数据库

Android非常频繁地杀死服务

c# - 如何在 C# 中使用 AES 加密然后在 Perl 上解密?

android - 加载 RS jni 库时出错 : UnsatisfiedLinkError: Couldn't load RSSupport: findLibrary returned null