如今在Web端使用WebGL进行高性能计算已有不少实践,例如在端智能领域中的tensorflow.js,再比如可视化领域中的Stardust.js。在本文中,我们将介绍以下内容:
使用GPU进行通用计算(GPGPU)的历史当前在Web端使用图形API实现GPGPU的技术原理,以及前端开发者可能遇到的难点相关业界实践,包括布局计算、动画插值等局限性与未来展望一什么是GPGPU由于硬件结构不同,GPU与CPU擅长执行不同类型的计算任务。CPU通过复杂的Cache设计实现低延迟,包含复杂的控制逻辑(分支预测),ALU只占一小部分。而GPU为高吞吐量而生,包含大量ALU。因此在单指令流多数据流(SIMD)场景下,GPU的运算速度远超CPU,并且这种差距还在不断拉大。而一些现代GPU上甚至有专门负责张量计算、光线追踪的硬件(Tensor/RTCore),例如Nvidia的图灵架构。这使得在处理这些计算复杂度极高的任务时能获得更大的性能提升。这里就需要引出一个概念,用GPU进行除渲染外的通用计算:General-Purpose