使用C#來面向GPU編程

來源:互聯網
上載者:User

使用C#來面向GPU編程

一直以來,我們都在使用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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.