使用C#来面向GPU编程
极客时间编辑部
讲述:杜力大小:957.09K时长:02:03
一直以来,开发者们都在使用英伟达的 CUDA 平台编写通用程序,来发挥英伟达 GPU 的计算性能优势。
尽管 CUDA 支持不同的编程语言,但是编写高性能的代码时通常需要使用 C 或者 C++。许多开发者为了编写面向 GPU 的代码,不得不放弃他们更为喜欢的编程语言。但现在,C# 开发者有机会摆脱这种困境了。
近日,Altimesh 推出了新编译工具 Hybridizer,通过为 C# 开发者提供一种新的编译方法来解决这个问题。它将开发者的源代码编译成面向 GPU 的可以运行在 CUDA 平台上的二进制代码。
Hybridizer 分为两个版本,旨在满足不同的需求和预算。Hybridizer Essentials 作为 VS 的一个扩展,对所有用户免费,它能够生成运行在 CUDA 平台上的二进制代码。
Hybridizer Software Suite,简称 HSE 则是授权软件,提供面向 CUDA 以及其它平台(包括 AVX、AVX2 和 AX512)的编译功能,可以生成二进制代码,但也可以选择生成 CUDA 源代码,使用户能够审核正在编译的内容。
配合英伟达的 Nsight Visual Studio Edition,任何一个 Hybridizer 版本都为开发者提供了在 VS 中编写和调试 C# 代码的方法,同时生成的代码会在英伟达 GPU 上执行。
由于 HSE 以 MSIL(Microsoft Intermediate Language)来运行,因此它能够与现有的项目集成,即使没有这些项目的源代码。这也为同平台的.NET 平台语言 F# 和 VB.NET 提供了间接支持。
由于编写面向 CUDA 平台的 C/C++ 代码的目标之一,是使性能达到最大化,因此值得比较下 Hybridizer 编译的 C# 代码的性能。
据 Altimesh 公布,由 C# 编译生成的二进制代码达到了手写的面向 CUDA 的 C++ 代码 83% 的性能。而根据实际代码情况,开发者还可以进一步优化 C# 代码,达到与 C++ 等同的性能。
可以说,Hybridizer 软件向那些对 CUDA 和 GPU 编程好奇的 C# 开发者提供了一种探索这些技术的方法,关键是不需要他们放弃使用自己喜欢的技术。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论