YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Chinese, Simplified subtitles

← 其他并行计算平台

Get Embed Code
2 Languages

Showing Revision 1 created 05/21/2013 by Lian7.

  1. 重要的是要记住CUDA不只是一种具体语言
  2. 或C、C++语言的一系列扩展。
  3. CUDA是整个GPU计算架构。
  4. 我们来说说其他支持CUDA的平台。
  5. 首先我们会谈到其他支持CUDA的语言,然后我们会讲跨平台方案。
  6. 目标CUDA的轻量级版本只是把CUDA C++封装到其它语言,
  7. 以便你可以把数据传输到CPU,在其他语言内部调用CUDA C++内核。
  8. 一个很好的例子是PyCUDA,它允许Python程序调用CUDA C++内核,
  9. 甚至在Python内以编程方式构建它们。
  10. 在更深层次,越来越多的语言直接以CUDA构架作为目标。
  11. Python的热衷者还会想查看Copperhead。
  12. Copperhead是Python的数据并行子程序,使用数据并行函数库,
  13. 这些函数如map、produce、filter、scan和sort。
  14. 当一个Copperhead函数被调用,运行生成Thrust代码,
  15. 并从Python解释器调用它。
  16. 内存由Python垃圾回收器管理,怠惰地传输到和传输出GPU。
  17. 关于Copperhead程序的一件很酷的事是它们
  18. 使用程序包如numpy或matplotlib,与Python程序交互操作。
  19. 这使得编写整个应用更容易,而不只是内核。
  20. Cuda Fortran是波特兰小组的产品,用途正如其名。
  21. 它把CUDA结构,如线程块和共享内存
  22. 直接结合到Fortran语言。
  23. 更多研究前沿,Halide是一门全新的语言,专门用于图像处理。
  24. 这使得它属于DSL或领域专用语言。这是一个很棒的例子。
  25. Hailide以GPU和多核CPU为目标,在电脑和手机设备上都可应用。
  26. 我们讨论过的很多并行优化模式,
  27. 如平铺,在Halide中特别容易表达和优化。
  28. 这使得有可能获得非常高性能的图形处理代码。
  29. 最后,广泛使用的Matlab平台支持CUDA,
  30. 可以封装CUDA内核,也可以直接用Matlab核心函数代码指向CUDA。
  31. 让我们再进一步说点Matlab。