cuda

    3熱度

    6回答

    我正在探索將常見C#代碼構造映射到C++ CUDA代碼以在GPU上運行的各種選項。該系統的結構如下(箭頭表示方法調用): C#程序 - > C#GPU LIB - > C++ CUDA實現LIB 在GPU庫的方法可能看起來像這樣: public static void Map<T>(this ICollection<T> c, Func<T,T> f) { //Call 'f' on

    0熱度

    5回答

    nVidia發佈了他們的CUDA API,允許開發人員利用他們的圖形卡,充分利用大規模並行架構和矢量化操作。像pyCUDA這樣的庫是爲了讓腳本語言的開發者將選定的代碼發送給GPU而創建的。 而且出現了越來越多的精力來設計多語種的虛擬機,如鸚鵡,像二郎強類型的併發友好的語言上。 所以我想知道是否有任何開源項目的代碼針對利用GPU的充分受益虛擬機環境? 我可以想象其運行主要腳本語言能夠把所有的GPU的

    5熱度

    5回答

    這個article描述了一種在C#中的方式,允許添加任何具有爲其定義的+操作符的值類型。從本質上講,它允許下面的代碼: public T Add(T val1, T val2) { return val1 + val2; } 此代碼不能編譯,因爲沒有保證的T型具有的「+」操作符的定義,但效果與代碼實現這樣的: public T Add(T val1, T val2) {

    10熱度

    4回答

    我目前正在實施光線跟蹤器。由於光線追蹤的計算量非常大,而且我將繼續研究CUDA編程,所以我想知道是否有人將這兩者結合起來。我無法確定計算模型是否匹配,我想知道期望的結果。我得到的印象是,這不完全是在天堂製造的,但體面的速度增加總比沒有好。

    27熱度

    4回答

    我知道有很多CUDA語言綁定,比如PyCUDA,但是有沒有好的綁定.Net?我見過的唯一一個是this one,但我想知道是否有其他人。

    5熱度

    6回答

    我最近開始研究一個項目,以確定如何最好地利用現代顯卡中的處理能力進行一般編程。看起來,現場通用GPU編程(GPGPU)對科學應用有很大的偏見,並且有很多繁重的數學,因爲這與GPU計算模型非常吻合。這一切都很好,但大多數人並沒有花時間運行模擬軟件等,所以我們認爲有可能爲大衆輕鬆構建支持GPU的軟件創建一個通用基礎。 這導致了我想提出的問題;什麼是程序執行的最常見的工作類型?由於我們願意接受適度的性能

    33熱度

    4回答

    在編寫CUDA應用程序,您可以在驅動程序級別或在運行時級別在這個圖像上所示的工作(該庫是CUFFT和CUBLAS的高等數學): 我認爲兩者之間的權衡是降低低級API的性能,但代價是代碼複雜度增加。具體的區別是什麼?有沒有什麼重要的事情你不能用高級API來做? 我使用CUDA.net與C#進行互操作,並將它構建爲驅動程序API的副本。這鼓勵在C#中編寫大量相當複雜的代碼,而使用運行時API可以使C+

    18熱度

    10回答

    我很想知道是否有人編寫了一個應用程序,例如使用nVidia CUDA來利用GPGPU。如果是這樣,那麼與標準CPU相比,您發現了哪些問題以及您獲得了哪些性能提升?

    2熱度

    4回答

    我正在研究C#庫,它使用NVIDIA的CUDA將某些工作任務卸載到GPU。這樣的一個例子是添加一起使用的擴展方法的兩個陣列: float[] a = new float[]{ ... } float[] b = new float[]{ ... } float[] c = a.Add(b); 在此代碼的工作是在GPU上完成的。但是,我希望它是異步完成的,只有當需要結果時纔會在CPU模塊上運

    7熱度

    6回答

    所以,我試圖編寫一些利用Nvidia CUDA架構的代碼。我注意到,複製到設備和從設備複製真的傷害了我的整體性能,所以現在我試圖將大量數據移動到設備上。由於這些數據被用於多種功能,我希望它是全球性的。是的,我可以通過指針,但我真的很想知道在這種情況下如何使用全局變量。 所以,我有設備功能,要訪問設備分配數組。 理想情況下,我可以這樣做: __device__ float* global_data;