一位客户接洽我的工作项目涉及尝试使用OpenCL在GPU上运行全面的程序。
我对CUDA和低级机器架构有很好的了解。据我所知,GPU代码没有调用堆栈,也没有指针,或任何非结构化的控制流机制,如goto,异常或函数指针。 对我来说,它在语义方面类似于一种基本的FORTRAN方言。 我知道从另一个GPU内核调用的GPU内核像宏扩展一样内联,没有CALL / RET机制
据我了解,你没有一个没有堆栈的词法范围的语言,而且OpenCL编译的方言是C的一个非常扁平的子集,同样的CUDA,同时允许模板和东西,只给我们一个非常小的子集C ++
客户端想要从Javascript转换为C转换为LLVM,然后转换为OpenCL字节码,或以某种方式获得在GPU上运行的全尺寸程序,即使它们运行缓慢而没有并行性
我是否正确地说服客户他希望实现的目标在技术上是不可能的而且没有用处?