2012-06-12 47 views
2

基本上問題是如何在Metro應用程序中運行gpgpu代碼。該庫不需要專門用於計算,例如,使用XNA的hlsl(最初用於渲染事物)用於一般計算(XNA不包含在Metro中,因此是我的問題)。默認的Metro庫優於對外部引用的引用。我知道可以用C++調用核心DirectX函數,但是,我問是否可以在地鐵應用程序中使用C#中的gpu。winrt中的C#gpgpu

回答

2

實際上我並不認爲這是可能的,但是當尋找一個鏈接來證明它是不可能的時候,我想出了references to SharpDX,它聲稱是一個託管的DirectX包裝器,它也將支持Win8 Metro應用程序。請參閱this SharpDX sample project,其中包含一個.hlsl文件,以瞭解更多信息。

這不是我的專業領域,所以我不知道這是否會工作;另外,我不得不想他們如何做到這一點,並仍然允許應用程序在商店中出售認證。但根據您的要求,這可能是要檢查的東西。 (注意:第一個鏈接確實聲稱SharpDX的[n] ext版本將爲Win8 Metro風格的應用程序提供完全兼容和認證的程序集,「所以他們的意圖很清楚。關於認證只是它聽起來像這樣做需要做互操作我不知道是允許在這樣的應用程序,所以他們可能會對此感到樂觀,但我可能是完全錯誤的。)

3

DirectCompute是完全可用與Metro應用程序中的SharpDX(因爲它來自桌面應用程序,這是相同的API)。儘管如果你的目標是一些平板電腦,至少需要一個DirectX10顯卡。如果平板電腦是10.0或10.1,則您將有Compute Shaders on Downlevel hardware的一些限制。

1

GPU.NET將JIT編譯成特別標記和編寫的C#代碼到GPU代碼。

www.tidepowerd.com

我還沒有嘗試過,但概念是有前途的,代碼看上去比較乾淨。所有這一切都在C#中......

+0

確實很有趣的項目!但該網站僅在網頁存檔中可見......在實際網站中,有一條關於應該儘快解決的技術問題的消息。那是在2012年10月。現在...我的廢話檢測器在哪裏? :(我想有人買了這家公司,無論出於什麼奇怪的原因,它都表現出這種悲傷的方式,或者我誤會了? –