使用C#来面向GPU编程_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > 使用C#来面向GPU编程

使用C#来面向GPU编程

 2018/1/2 15:17:01    程序员俱乐部  我要评论(0)
  • 摘要:英文原文:UsingC#toTargetGPUs一直以来,我们都在使用NVIDIA的CUDA平台编写通用程序来发挥NVIDIAGPU的计算性能优势。尽管CUDA支持不同的编程语言,但是编写高性能的代码通常需要使用C或者C++。许多开发者为了编写面向GPU的代码,不得不放弃使用他们更喜欢的编程语言。直到最近,C#开发者终于可以摆脱这种困境了。Altimesh推出的新编译工具——Hybridizer,通过为C#开发者提供一种新的编译方法来解决这个问题
  • 标签:C# 使用 编程
class="topic_img" alt=""/>

  英文原文:Using C# to Target GPUs

  一直以来,我们都在使用 NVIDIA 的 CUDA 平台编写通用程序来发挥 NVIDIA GPU 的计算性能优势。尽管 CUDA 支持不同的编程语言,但是编写高性能的代码通常需要使用C或者C++。许多开发者为了编写面向 GPU 的代码,不得不放弃使用他们更喜欢的编程语言。直到最近,C#开发者终于可以摆脱这种困境了。

  Altimesh 推出的新编译工具——Hybridizer,通过为 C# 开发者提供一种新的编译方法来解决这个问题。它将开发者的源代码编译成面向 GPU 的可以运行在 CUDA 平台上的二进制代码。Hybridizer 分为两个版本,旨在满足不同的需求和预算。Hybridizer Essentials 作为 Visual Studio 的一个扩展,对所有用户免费。它能够生成运行在 CUDA 平台上的二进制代码。Hybridizer Software Suite(HSE)是授权软件,提供面向 CUDA 以及其它平台(包括 AVX、AVX2 和 AX512)的编译功能。该软件套件可以生成二进制代码,但是也可以选择生成 CUDA 源代码,使用户能够审核正在编译的内容。

  配合 NVIDIA 的 Nsight Visual Studio Edition,任何一个 Hybridizer 版本都为开发者提供了在 Visual Studio 中编写和调试 C# 代码的方法,同时生成的代码会在 NVIDIA 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# 开发者提供了一种探索这些技术的方法,而且不需要放弃使用他们自己喜欢的技术。示例代码可以在 GitHub 上获取,Hybridizer Essentials Extension 可以在 Visual Studio Marketplace 上获取。

发表评论
用户名: 匿名