专访蓝宝科技Johnson:AMD玻尔兹曼计划
http://vga.zol.com.cn/564/5647522.htmlZOL:徐先生您好,可否简单介绍一下您在显示卡或者说专业显卡这个领域的经历? Johnson:您好,我在显卡这个领域已经有 14 年了,特别是在专业显示卡这个领域也有 12 年了,之前是在 AMD 担任亚太区业务,现在则是在蓝宝担任 PGS 产品经理。 因为我就学时主要修习的是 3D 虚拟现实程序编程,机械工程科系的,结合所学 3D 知识以及之前在 AMD 当业务对市场及需求的了解,让我在设计及推广产品更有方向,且可以针对目前市场的真实需求来提供最适当的产品。http://article.fd.zol-img.com.cn/t_s640x2000/g5/M00/07/0D/ChMkJ1ae-RiIGg9gABFisbCkY6sAAHeawImB40AEWLJ846.jpg
蓝宝科技 PGS 专业卡产品经理 Johnson ZOL:专业卡和一般显卡比起来,相对复杂且应用广泛,可否聊一下您在产品定位及推广的重点? Johnson:专业卡在 CAD/CAM/CAE/M&E 等应用领域来说,最大的不同就是跟市场所有的绘图软件之间的配合了。 AMD FirePro 在推广重点是让我们我们的用户们知道,专业显卡不只跟软件商在开发初期时就进行效能优化的合作,在产品上市之后,仍然持续的在做认证测试以及功能优化测试,主要让我们的用户可以享受到高效能、高兼容性及稳定的工作环境。 另外还有一些特殊的应用,也只有专业卡可以做到,例如单卡多输出及不规则拼接的数字广告牌应用、VDI虚拟桌面、Server 等级云端超算的应用,针对这些特殊的用途,AMD FirePro 都有提供特别的产品线,并与相关的厂商结合,例如,我们会与 ASUS,ASROCK,ADVANTECH 等服务器厂商配合测试我们的超算卡,藉由交叉测试以提供稳定兼容的显卡给服务器的采购用户。 ZOL:这次我们的专访主题是前不久 AMD 公司公布的 Boltzmann Initiative(玻耳兹曼倡议),比较特别的是这个项目提供了CUDA、C++、OpenMP 等一些技术的支持。那么这个 Boltzmann Initiative 的发布是否释放出了一个信号:AMD 将停止对 OpenCL 的支持呢? Johnson:完全不是这么一回事,事实上我们在 SC15 上还发布了两个针对高性能计算应用程序的新 OpenCL 库包。 增加 C++ 作为一个附加的计算语言能扩大超算编程人员的基数,有利于他们从异构计算中获得好处。http://article.fd.zol-img.com.cn/t_s640x2000/g5/M00/07/0C/ChMkJ1ae6UGIAUE_AAFTIXjudNcAAHePADrUugAAVM5168.jpg
AMD Boltzmann Initiative ZOL:透过 HCC C++ 编译器 AMD 实现了支持 OpenMP 的支持吗? Johnson:没错,我们在 C/C++ 里实现了 OpenMP 3.1、OpenMP 4.0。在初步完成的编译器里,还只是实现了对 CPU 的支持,但是我们也会在 GPU 上实现 OpenMP 4.0 的支持。 ZOL:那么,在 HCC 的 C++ 编译器 CPU 和 GPU 的调度是怎样实现的呢? Johnson:在以往用 OpenCL 来编写异构计算程序的时候,GPU 和 CPU 的代码的确需要用独立的文件来分开编写。 而使用 Boltzmann Initiative 的工具包, 程序员可以在单个源程序文件中编写 CPU 和 GPU 代码,然后编译器在编译这个源代码文件的时候就会为 CPU 和 GPU 生成(二进制执行)代码。 ZOL:使用 HIP 来移植 CUDA 应用程序需要花费多大的功夫呢? Johnson:根据我们的分析,CUDA 程序的 90% 代码可以直接转换为 AMD 可执行的代码,剩下的 10% 可以用 C++ 修改完成。 ZOL:如果 HIP 能完成大约 90% 的 CUDA 移植,那么剩下有多少代码依然需要手工来完成移植呢? Johnson:代码移植的绝大部分都可以由 HIP 自动完成。 剩下的部分还是必须手工编写代码来完成,通常这个过程可以在数天内而非数月就能完成。http://article.fd.zol-img.com.cn/t_s640x2000/g5/M00/07/0D/ChMkJlae6wSIcrJ2AADyu-joNPEAAHeQwC4hiMAAPLT669.jpg
ZOL:有多少 CUDA 程序已经被移植到 HIP 上呢?能否介绍一下它们以及个中的感受? Johnson:我们目前只在有限的范围内提供 HIP 工具,毕竟这是刚刚宣布的事情。 在 SC15 上 AMD 已经展示了使用 HIP 运行 CUDA 生成的Rodinia 基准测试在 AMD GPU 上运行的实例。 ZOL:对于一个独立开发商而言,将 CUDA 移植到 C++ 上有什么好处呢?
A:这个新的 AMD 编译器是开源,这意味着任何人都能访问这个编译器代码并在持续的开发中对其做出共享。 开源方式还意味着开放人员不会被禁锢在某个单一的硬件平台上。 此外,随着未来这个编译器能力的增强,应用程序可以直接使用规范的 C++ 来直接来写,C++ 的广泛性远高于 CUDA。http://article.fd.zol-img.com.cn/t_s640x2000/g5/M00/07/0D/ChMkJlae6oeIWY8WAANNaq8xNzcAAHeQAKCocIAA02C415.jpg
ZOL:如果程序已经用 CUDA 编写,然后移植到 C++ 上,我们可以预期有什么性能差别吗? Johnson:应用程序的性能取决于多个因素,包括设备的底层性能以及设备的内存性能。
将 HIP 移植到 CUDA 是非常简单的(通常也就是一个内联函数调用就搞掂),我们估计在同样的设备上是不会看到 HIP 和原生 CUDA 代码之间存在性能损失问题。 ZOL:移植后或者说直接使用 C++ 开发的程序都能在 AMD 和 NVIDIA 硬件上运行吗? Johnson:HIP 层为 AMD 和 NVIDIA 平台提供了源代码级的可移植能力。 HIP 本身并不提供二进制可移植能力——一旦程序已经特定为 AND 或者 NVIDIA 编译,那么这个代码就只能在该公司旗下的产品上运行。http://article.fd.zol-img.com.cn/t_s640x2000/g5/M00/07/0D/ChMkJlae62CIPUKTAAEMGEGRQqgAAHeRAM09SAAAQww782.jpg
ZOL:如果我能使用 C++ 开发并行应用程序,还有什么理由会让我在开发新的程序时使用 CUDA 或者 OpenCL 呢? Johnson:AMD 相信应该给编程人员更多的选择。我们要做的是给大家各种可以在最简单的途径解决问题的工具。 HCC 编译器可以以更简单的方式来解决你的待解问题,这是因为你们不再需要担心 CPU 和 GPU 代码的整合,使得程序员可以专注于对问题的求解上,不需要为了和加速器的访问而专门编写“黏胶”代码。 ZOL:从 CUDA 移植到 C++,会有哪些 AMD 优于NVIDIA 的硬件优势? Johnson:主要的优势是进入到一个开源平台而非一个禁锢的生态环境。好处是允许开发人员能得到 AMD GPU 的各种差异性优势,例如高带宽内存(HBM)技术。
页:
[1]