写点什么

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

评论

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

强烈推荐!阿里架构师纯手写的大型分布式项目《凤凰架构》手册

开心学Java

分布式 分布式系统 java 构架

行云洞见 | 为何都在将研发环境搬上云端?

行云创新

云端IDE 云原生集成开发环境

地表最强AI,GPT-4专治各种不服

引迈信息

AI ChatGPT

4月7日|《2022中国企业敏捷实践白皮书》发布会,揭秘国内敏捷最新现状

爱吃小舅的鱼

敏捷实践 中国企业敏捷实践白皮书

JVM 堆体系结构及其内存调优

做梦都在改BUG

Java JVM

RabbitMq 环境搭建

流火

基于数字孪生技术的船舶智能机舱

Openlab_cosmoplat

开源社区 数字孪生 智能制造

分片压缩、分片上传,融云 IM 视频文件高速传输方案

融云 RongCloud

视频 IM 方案

全网爆火!阿里内部产出的Java面试核心手册震撼开源了,太香了

开心学Java

Java 面试 春招 java Java八股文 Java 面试题

专业、简单、稳定,融云重新定义互联网通信云服务

融云 RongCloud

互联网 数字化 办公 泛娱乐 通讯

StyleGAN 调整面部表情,让虚拟人脸更生动

极客飞兔

人工智能 机器学习 图像处理 StyleGAN

沐曦与百度飞桨完成兼容性测试,助力计算机视觉应用发展

飞桨PaddlePaddle

科技+卫生=智慧公厕,城市焕然一新!

光明源智慧厕所

智慧城市

头部险企如何打造低代码数据集市,快速构建指标体系

Kyligence

金融科技 指标体系

Redis连接失败问题排查和解决

做梦都在改BUG

初学React useEffect Hook

devpoint

React useEffect

小度沈健:以闭环服务赋能场景化智能家居

Geek_2d6073

【被夸爆的教学!】ChatGPT注册全攻略!新手必看!省时省力又省心!

frank

ChatGPT

快速解决 Linux 内核问题,一站式运维工具 oc-ops 介绍

OpenCloudOS

Linux 开源 操作系统

软件测试/测试开发丨app自动化测试(iOS)元素定位(新手篇)

测试人

软件测试 自动化测试 测试开发

数字孪生的安全挑战和机遇

Openlab_cosmoplat

开源社区 数字孪生

低代码引擎动作编排

codebee

低代码

老马闲评数字化【4】做数字化会不会被供应商拿捏住

行云创新

云原生 数字化转型 企业数字化

类似钉钉和企微的企业IM,为什么说私有化部署是企业更好的选择?

WorkPlus

CCF BDCI“大数据平台安全事件检测与分类识别”赛题,奇点云夺冠

奇点云

数据安全 奇点云 个人信息保护

低内存、高性能,磁盘索引可以这样玩

Zilliz

非结构化数据 Milvus 向量数据库

量化合约对冲交易软件|合约一键跟单社区平台系统开发源码

开发微hkkf5566

WorkPlus SE专业版即时通讯IM办公平台,赋能中小企业数字化转型

WorkPlus

触控板手势增强软件:Multitouch激活版

真大的脸盆

Mac Mac 软件 触控板 触控板增强

火山引擎EMR StarRocks场景案例分享

字节跳动数据平台

EMR

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