写点什么

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

评论

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

ElasticSearch中文分词和模糊查询

北桥苏

php elasticsearch thinkphp

不同设备如何统一语言编程平台高效开发?本文为你揭秘

HarmonyOS开发者

HarmonyOS

阿里Dubbo技术负责人准备的源码教程,很有大厂风格

做梦都在改BUG

Java dubbo

美团太细了!HashMap可以存null,ConcurrentHashMap不可以为什么

Java你猿哥

Java hashmap ssm

Omi NTFS磁盘管理 支持在 Mac 上修复和格式化 NTFS 磁盘

Rose

NTFS Disk by Omi NTFS NTFS 磁盘管理器 ntfs

2步打通ModelArts和Astro,实现AI应用快速落地

华为云开发者联盟

人工智能 低代码 华为云 华为云开发者联盟 企业号 5 月 PK 榜

适用于ARM的Linux系统镜像资源+安装教程

Rose

Linux Mac Parallels Desktop 虚拟机 系统镜像

增强型语言模型——走向通用智能的道路?

百度Geek说

人工智能 机器学习 语言模型 企业号 5 月 PK 榜

从零开始打造一款基于SpringBoot+SpringCloud的后台权限管理系统

做梦都在改BUG

Java Spring Cloud Spring Boot 权限管理

Django-Vue-Admin基于django+vue前后端分离开箱即用框架

巨梦科技

django Vue

技术领先、“忠”于业务,用友走出多维数据库的价值之路

用友BIP

所谓高手,就是跨过坑和大海| 社区征文

鸿蒙之旅

三周年征文

Java 网络编程详解

timerring

Java

已有多人中招:这张特殊二维码可致微信闪退,还会进入安全模式

Rose

微信防撤回 微信下载 微信小助手 微信闪退

携手共赢 HashData亮相华为合作伙伴大会

酷克数据HashData

华为研究院19级研究员几年心得终成趣谈网络协议文档,附大牛讲解

做梦都在改BUG

Java 计算机网络 网络协议

需求梳理会开2天是否合理?

BY林子

软件质量 需求分析 需求工程师 需求梳理

好的索引当然是要覆盖了!

江南一点雨

MySQL 数据库

数字人是否能成为企业智能化的门户?

Onegun

人工智能 数字人

一顿饭的事儿,搞懂了Linux5种IO模型

Java你猿哥

Java Linux 后端 ssm io

发布会实录|悠易科技CTO李旸:洞察新引擎 品牌新增长

游读分享

被 ChatGPT 点燃的向量数据库们

Bytebase

人工智能 数据库 openai AIGC ChatGPT

真香!阿里P8微服务实战心得首次公开,涵盖架构设计所有知识点

Java你猿哥

Java 架构 微服务架构 架构设计 架构师

精准测试之过程与实践 | 京东云技术团队

京东科技开发者

精准测试 质量保障 企业号 5 月 PK 榜

苹果Mac电脑安装AutoCAD 2024卡死无响应,怎么办

Rose

cad AutoCAD 2024 Mac版 AutoCAD 2024下载 无响应

中国开源未来发展峰会“问道 AI 分论坛”即将开幕!

kk-OSC

峰会

最具有中国特色的微服务组件!阿里新一代SpringCloud学习指南

做梦都在改BUG

Java 架构 微服务 Spring Cloud spring cloud alibaba

ThottleStop 软件的应用场景

汪子熙

cpu intel 三周年连更

适用于Mac的七款最佳高清音乐播放器,专为发烧友而生!

Rose

iTunes mac音乐播放器 苹果系统 音乐软件

代码注释的艺术,优秀代码真的不需要注释吗?

阿里技术

代码注释

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