就并行编程模型而言,Scala 和 OpenCL 提供/支持的有什么区别?
以一个微不足道的任务为例,如何并行处理一个包含 10 亿个元素的两个向量的相加任务?
从程序员的角度来看,我认为 Scale 应该很容易。
vectorA+ vectorB -> setC
或者,他们不在同一级别进行比较?
就并行编程模型而言,Scala 和 OpenCL 提供/支持的有什么区别?
以一个微不足道的任务为例,如何并行处理一个包含 10 亿个元素的两个向量的相加任务?
从程序员的角度来看,我认为 Scale 应该很容易。
vectorA+ vectorB -> setC
或者,他们不在同一级别进行比较?
看到一篇很有趣的文章
尽管 AMD 一直在努力推动 OpenCL,就像 Nvidia 在 CUDA 上所做的那样,但两家公司现在都在考虑提供使用这两种语言的性能优势,并将它们整合到 Java、Python 和 R 等语言中。
也许他们也需要研究 Scala :)
scala 基于 JVM。这意味着任何 Java 优化的 GPU 东西都可以轻松地移植到 Scala。如果 JVM 将动态优化字节码,那么 Scala 也会自动支持它。GPU 编程是未来——除非我们开始看到数百个 i7 内核等。CPU 的问题是非常复杂,因此每个内核的功耗更高——热量问题等。但是 GPU 可以像数学一样从 CPU 中卸载任务协处理器早期正在卸载任务。
不过,台式机 CPU + GPU 芯片会很有趣.. 将 CPU 移动到 GPU 卡内 :-)..