graphics - Cray XK6 可以运行实时光线追踪器吗?

标签 graphics hardware cray

我今天听说了 Cray 的新型 super 计算机——XK6,但我对瓶颈在哪里有点困惑。是否处于互连状态?配置有 50 万个 16 核处理器的 XK6 能否实时实现与《玩具总动员 3》相当的图形保真度?我所说的“实时”是指 60fps,即每帧大约 16.7 毫秒。

最佳答案

没有。令人惊讶的是,与渲染《玩具总动员 3》或类似的现代动画(或视觉特效)电影中的电影帧相比,纯计算所需的时间很少。这些场景可能引用数百 GB 的纹理,即使您可以确切地知道一帧需要该纹理的哪个子集,它也可能是数十 GB,仍然需要从磁盘读取和/或通过传输一个网络。 GPU 或大规模并行分布式计算并不能加快速度。此外,渲染只是最后一步......为帧准备几何输入(模拟流体、布料和头发、镶嵌几何图形、从磁盘读取和解释大型场景)可能很重要。

所以,只是凭空捏造数字(但这些数字相当真实),假设需要 30 分钟来准备场景(加载模型、对其进行分割、一些小型模拟等),并需要 4.5 小时进行渲染(其中,例如,30 分钟用于从磁盘读取纹理和其他资源,剩下 4 小时用于“光线追踪”和其他计算)。如果 XK6 使光线追踪无限快,它只会将整个过程加快 5 倍(1 小时仍然很难序列化准备和 I/O)。这就是适合您的阿姆达尔定律。

现在,您可能会问自己:“游戏为何进展得如此之快?”他们通过两种方式做到这一点:(1) 他们大幅减少数据集(纹理大小、几何分辨率等),使其全部适合 GPU 并相当快地加载级别(这奇怪的是,当您认为渲染是“实时”发生时,您(用户)并没有计数); (2) 在发货之前,他们不遗余力地在计算、技巧和人力上投入优化场景和算法,以便当它出现在玩家面前时可以快速渲染。 p>

因此,总而言之,如果您询问 XK6 的总计算能力是否足以实时计算渲染电影帧所需的所有纯数学,那么是的,可能是的。但如果您询问 XK6 是否能够在给定渲染器所需输入类型的情况下实时渲染电影,那么不,它不能。 XK6 对渲染这些电影帧有什么用处吗?不,可能不值得从头开始重新编程所有软件(数百人年)。

关于graphics - Cray XK6 可以运行实时光线追踪器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6146374/

相关文章:

c - 在 Turbo C 中覆盖背景的移动对象

C#:使用位图时如何减少内存和 CPU 消耗?

objective-c - 调试statfs?

c++ - 按住滚动条获取命令提示符以在 Windows 中暂停

c - Cray 上的 libxml2 不可用

c++ - 在程序中包含图形界面

sql - SSD 驱动器的 TPC 或其他数据库基准测试

profiling - 收集有关 Cray Chapel 中 GASNet 通信操作的信息

opengl - 可在 OpenGL 中表示的曲线