AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

使用 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:0018100

评论

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

区块链技术可提高数据可信性和安全性

CECBC

区块链技术 安全性

奈学:红黑树(RedBlackTree)的概述

奈学教育

AVL

架构师训练营第 11 周——练习

李伟

极客大学架构师训练营

系统高可用

陈皮

架构师训练营第十一章总结

叮叮董董

架构师训练营第十一章作业

吴吴

图解 K8s 核心概念和术语

后端进阶

Docker Kubernetes 容器 云原生 k8s

week11 作业

雪涛公子

极客大学架构师训练营---习题

李朋

甲方日常1

句子

工作 随笔杂谈 日常

Java二进制和位运算,这一万字准能喂饱你

YourBatman

位运算 二进制

不可用与高可用

dongge

架构师课程第十一周总结

dongge

Cause: java.sql.SQLTimeoutException: ORA-01013: user requested cancel of current

Java个体户

Druid

架构师培训第十一周练习

小蚂蚁

架构师训练营第十一章作业

叮叮董董

架构师训练营——第11周学习总结

jiangnanage

导致系统不可用的原因有哪些?

leis

合同、封条、电梯……通通上链!

CECBC

区块链技术 监管平台

对于三千万攀登者来说,云是安全绳,是登山杖,是趋顶之路

脑极体

《黑神话:悟空》出圈背后,国产3A游戏的技术新机

脑极体

架构师培训 -11 安全、高可用

刘敏

【Elasticsearch 技术分享】—— Elasticsearch 存储一条数据, put 过程是什么样子的?

程序员小航

Java elasticsearch 搜索 ES Lucene Elastic Search

架构师训练营-第十一周-命题作业

sljoai

极客大学架构师训练营 命题作业 第十一周

Week11总结

leis

奈学:红黑树(RedBlackTree)的概述

古月木易

week11 总结

雪涛公子

week 11作业

Geek_z9dmvw

第11周 安全和高可用

陆不得

手写Spring框架之IOC

简爱W

架构师训练营——第11周作业

jiangnanage

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