在典型的CPU上运行不受信任的代码时有很多方法:沙盒,假根,虚拟化......
GPGPU的不可信代码(OpenCL,cuda或已编译的代码)怎么样?
假设在运行此类第三方不受信任的代码之前清除了显卡上的内存,
P.S。我对gpu二进制代码级安全性更感兴趣,而不是高级gpgpu编程语言安全性(但这些解决方案也是受欢迎的)。我的意思是欢迎引用gpu操作码(a.k.a机器代码)。
答案 0 :(得分:2)
风险与任何C计划相同。另外,您可以冻结整个桌面。通过执行一个很长的计算,我设法做了一次。结果是屏幕不再更新,例如时钟小部件上的时间在该时间段内没有变化。所以你应该使用两个显卡 - 一个用于GPU的东西。
答案 1 :(得分:2)
GPU代码绝对有风险。当前的GPU不提供内存保护,因此基本上每个GPU内核都可以访问所有视频内存。我不确定是否也可以访问主机的内存(通过内存映射可能?)。它不可能抢占内核,它们可以“占用”GPU,如果它也用于图形输出,这会导致冻结。 (通常驱动程序将终止几秒钟后没有退出的内核)
据称,AMD的新GPU系列确实有一些内存保护功能,但我怀疑它们目前还在使用。使用当前的硬件(GeForce 4xx +,Radeon 6xxx +)可以将GPU多处理器分成多个段,但这与实时切片,抢占式多任务处理并不完全相同。 ;)