写点什么

使用 C#来面向 GPU 编程

  • 2018-01-01
  • 本文字数:846 字

    阅读完需:约 3 分钟

一直以来,我们都在使用 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 上获取

查看英文原文: Using C# to Target GPUs

感谢罗远航对本文的审校。

2018-01-01 18:0018243

评论

发布
暂无评论
发现更多内容

第三届字节跳动奖学金官宣开奖,13位优秀科研学子每人获10万奖学金

字节跳动技术范儿

Mac电脑Xliff文件编辑推荐 Xliff Editor最新激活版

胖墩儿不胖y

Mac软件 文件处理工具 文件编辑器

Boris FX Optics 2024:打造电影级视觉特效的终极工具

Rose

Boris FX Optics 2024 Optics 2024破解补丁 光晕光学特效

软件开发全套资料整理下载(投标支撑,立项,研发,测试,实施维护,安全监测,服务巡检,结项,验收支撑)

金陵老街

pmp 项目经理 软件文档 投标文档 验收文档

OpenHarmony状态变量更改通知:@Watch装饰器

OpenHarmony开发者

第20期 | GPTSecurity周报

云起无垠

券商上演“极速交易”,天翼云组播行情解决方案助力券商稳中求快!

极客天地

私有网络的安全保障,WorkPlus Meet内网视频会议助力企业高效会议

BeeWorks

快速出彩!适合产品经理的10款AI生成PPT工具推荐!

彭宏豪95

人工智能 AI PPT 在线白板 办公软件

怎么解决Adobe Creative Cloud没有管理应用程序的权限?

Rose

adobe

Python 数学函数和 math 模块指南

小万哥

Python 程序员 软件 后端 开发

WorkPlus:领先的IM软件,助力企业高效沟通与协作

BeeWorks

SaaS 出海,如何搭建国际化服务体系?(一)

LigaAI

创业 SaaS 国际化 To B业务 客户成功

装备制造行业云MES解决方案

万界星空科技

数字化转型 工业互联网 mes 装备修理行业 云mes

在宇宙的视角下看我们WE

脑极体

腾讯

模具制造业云MES系统难点及其解决方案

万界星空科技

工业互联网 云mes 模具工厂 模具mes 免费mes

HarmonyOS电话服务开发指导

HarmonyOS开发者

打造美团外卖新体验,HarmonyOS SDK持续赋能开发者共赢鸿蒙生态

HarmonyOS开发者

三月份发车的Celestia你们拿到了吗

币离海

Celestia tia

使用C#来面向GPU编程_.NET_Jeff Martin_InfoQ精选文章