bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

xmake新增對Cuda代碼編譯支持的示例分析

這篇文章給大家介紹xmake新增對Cuda代碼編譯支持的示例分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創新互聯建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網站、網站設計、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的德安網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

最近研究了下NVIDIA Cuda Toolkit的編譯環境,并且在xmake 2.1.10開發版中,新增了對cuda編譯環境的支持,可以直接編譯*.cu代碼。

下載安裝好Cuda SDK后,在macosx上回默認安裝到/Developer/NVIDIA/CUDA-x.x目錄下,Windows上可以通過CUDA_PATH的環境變量找到對應的SDK目錄,而 Linux下默認會安裝到/usr/local/cuda目錄下。

xmake在執行$ xmake 命令編譯*.cu代碼的時候,會嘗試探測這些默認的安裝目錄,然后嘗試調用nvcc編譯器直接編譯cuda程序,大部分情況下只需要執行:

$ xmake
創建和編譯Cuda工程

我之前編譯之前,我們可以通過xmake創建一個空的cuda工程,例如:

$ xmake create -l cuda test$ cd test$ xmake

通過-l參數指定創建一個cuda代碼工程,工程名為test,執行輸出如下:

[00%]: ccache compiling.release src/main.cu
[100%]: linking.release test

我們也可以嘗試直接運行這個cuda程序:

$ xmake run

接著我們來看下,這個cuda工程的xmake.lua文件:

-- define target
target("test")    -- set kind    set_kind("binary")    -- add include directories    add_includedirs("inc")    -- add files    add_files("src/*.cu")    -- generate SASS code for each SM architecture    for _, sm in ipairs({"30", "35", "37", "50", "52", "60", "61", "70"}) do        add_cuflags("-gencode arch=compute_" .. sm .. ",code=sm_" .. sm)        add_ldflags("-gencode arch=compute_" .. sm .. ",code=sm_" .. sm)    end    -- generate PTX code from the highest SM architecture to guarantee forward-compatibility    sm = "70"    add_cuflags("-gencode arch=compute_" .. sm .. ",code=compute_" .. sm)    add_ldflags("-gencode arch=compute_" .. sm .. ",code=compute_" .. sm)

里面大部分跟C/C++的工程描述類似,唯一的區別就是通過add_cuflags設置了一些cuda代碼特有的編譯選項,這部分配置根據用戶的需求,可自己調整。

關于add_cuflags的更多說明,可閱讀xmake的官方文檔。

Cuda編譯環境的配置

默認情況下,xmake都能成功檢測到系統中安裝的Cuda SDK環境,用戶不需要做額外的配置操作,當然如果遇到檢測不到的情況,用戶也可以手動指定Cuda SDK的路徑:

$ xmake f --cuda_dir=/usr/local/cuda$ xmake

來告訴xmake,你當前的Cuda SDK的安裝目錄在哪里。

如果想要測試xmake對當前cuda環境的探測支持,可以直接運行:

$ xmake l detect.sdks.find_cuda_toolchains
{
    linkdirs =
    {
        /Developer/NVIDIA/CUDA-9.1/lib
    },   bindir = /Developer/NVIDIA/CUDA-9.1/bin,   includedirs =
    {
        /Developer/NVIDIA/CUDA-9.1/include
    },   cudadir = /Developer/NVIDIA/CUDA-9.1}

來測試檢測情況,甚至可以幫忙貢獻相關檢測代碼find_cuda_toolchains.lua來改進xmake的檢測過程。

其他說明

注:目前對cuda的支持剛剛完成,還沒正式發版,更多關于xmake對cuda的支持情況和進展,見:issues #158。

如果要試用此特性,可下載安裝最新master版本,或者下載windows 2.1.10-dev安裝包。

xmake新增對Cuda代碼編譯支持的示例分析

關于xmake新增對Cuda代碼編譯支持的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

標題名稱:xmake新增對Cuda代碼編譯支持的示例分析
URL標題:http://vcdvsql.cn/article6/pdigog.html

成都網站建設公司_創新互聯,為您提供網站策劃做網站Google網站內鏈虛擬主機網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站建設網站維護公司