matrix - Xbox 360 上的 GPU 编程

标签 matrix gpu xbox360

我正在寻找对 Xbox 360 上的 XNA 的一些见解,主要是是否可以在其 GPU 上运行基于向量的浮点数学?

如果有办法,你能指出我正确的方向吗?

最佳答案

我并不声称自己是这方面的专家,但希望这可以为您指明有用的方向。

是否可以?是的。您可能已经知道 GPU 擅长此类计算(因此问题),您确实可以使用 XNA 控制 GPU。它是否适合您的需求是另一回事。

要使用 GPU,您可能需要使用 HLSL 编写着色器。在 Reimers 上有关于 XNA 上下文中的 HLSL 的不错介绍。你可能想通过它。值得注意的是,该教程的重点是让 GPU 执行与图形相关的运算,但您在着色器中编写的内容取决于您。如果您的基于矢量的浮点数学是为了渲染(因此可以留在 GPU 域中),那么您很幸运,可以停在这里。

可能在屏幕上渲染不是您所追求的。现在,就数学计算而言,您在 HLSL 中有相当大的灵活性。然而,将结果输出到 CPU 并不是系统的设计方式。这对我来说越来越模糊,但 Shawn Hargreaves(XNA 开发人员)在 more 上说比one occasion从 GPU 获取输出(除了在屏幕上渲染)是非常重要的,并且会影响性​​能。检索数据涉及调用 GetData 将 cause a pipeline stall .

所以是可以做到的。 XNA 框架允许您为 360 编写着色器(它支持 Shader Model 3.0 和一些扩展),并且可以得到这些结果,尽管它可能不足以满足您的需求。

关于matrix - Xbox 360 上的 GPU 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/125462/

相关文章:

gpu - 如何将经过 gpu 训练的模型加载到 cpu 中?

Kinect 手势识别

python - 如何在Python中用较小矩阵的项向量化填充较大矩阵

matlab - 计算矩阵的每条对角线之和

cuda - 同时使用 2 个 GPU 调用 cudaMalloc 时性能较差

c# - 如何使用 XNA 删除 XBOX 上的 "Please Reconnect Controller"对话框?

c# - 优化基本 XNA 引擎中的绘图调用

c++ - 如何使用 Eigen 库计算矩阵幂?

python - 当矩阵中的行多 10 倍时,为什么 np.dot 不会(至少)长 10 倍

linux - OpenCL 设备仅对 root 可见