ptx

    6熱度

    1回答

    考慮這3個微不足道的小內核。他們的註冊使用量是,比我預期的要高很多。爲什麼? 答: __global__ void Kernel_A() { //empty } 對應PTX: ptxas info : Compiling entry function '_Z8Kernel_Av' for 'sm_20' ptxas info : Function properties for _Z8K

    3熱度

    1回答

    我試着用CUDA驅動程序API運行由.cl內核生成的PTX彙編代碼。我採取的步驟是,這些(標準的OpenCL程序): 1)負載.CL內核 2)JIT編譯 3)獲取編譯PTX代碼並保存它。 到目前爲止這麼好。 我注意到了一些特殊的寄存器,在ptx程序集中,%envreg3,%envreg6等等。問題是這些寄存器沒有設置(根據ptx_isa,這些寄存器在內核啓動前由驅動程序設置)與驅動程序API的代碼

    0熱度

    1回答

    我在使用Cuda [4.2]在Windows上運行紋理讀取時遇到問題。 我的程序讀取一個包含所有內核模塊的ptx文件。此外,編譯過程從主機代碼的短例程中吐出一個附加的ptx文件。這裏是.cuh文件,並與.CU僅主機代碼文件: /////////////// "textureDefs.cuh" file /////////////////////////////////////////// #if

    0熱度

    1回答

    我有一個較大的CUDA應用程序,我需要計算獲得的GFLOP。 我正在尋找一種簡單且可能通用的方式來計算浮點運算的數量。 是否可以使用匯編語言中的預定義fpo列表來計算生成的PTX代碼中的浮點運算(如下所示)?根據代碼,計數是否可以通用?例如,add.s32 %r58, %r8, -2;算作一個浮點運算嗎? 例: BB3_2: .loc 2 108 1 mov.u32 %r8, %r79;

    6熱度

    1回答

    我正在嘗試創建一個結構類型的LLVM值。我使用LLVM-C接口,並找到一個函數: LLVMValueRef LLVMConstStruct (LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed) 如果所有的成員都是由LLVMConstXXX(創建恆定值也能正常工作),它會產生類似的代碼: store { i32, i32, i

    1熱度

    1回答

    有什麼方法可以知道空閒/活動SM的數量?或者至少讀取每個SM的電壓/功率或溫度值,據此我可以知道其工作與否。 (實時在gpu設備上執行一些作業)。 %smid幫助我瞭解每個SM的ID。類似的東西會有幫助。 感謝和問候, 勒凱什

    5熱度

    2回答

    CUDA驅動程序API提供從文件系統加載包含PTX代碼的文件。人們通常將執行以下操作: CUmodule module; CUfunction function; const char* module_file = "my_prg.ptx"; const char* kernel_name = "vector_add"; err = cuModuleLoad(&module, modu

    0熱度

    1回答

    在OpenCL中,「PTX(像java中的字節碼)到目標轉換器」是一個解釋器(就像我們在java中的字節碼)或者提前組裝的?

    1熱度

    1回答

    我試圖在CUDA中實現我自己的64位shuffle函數。但是,如果我不喜歡這樣寫道: static __inline__ __device__ double __shfl_xor(double var, int laneMask, int width=warpSize) { int hi, lo; asm volatile("mov.b64 { %0, %1 }, %2;"

    1熱度

    1回答

    介紹 在this question我們可以學習如何禁用L1緩存爲一個單個可變。 這裏是公認的答案: As mentioned above you can use inline PTX, here is an example: __device__ __inline__ double ld_gbl_cg(const double *addr) { double return_value;