真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的德安網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

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

下載安裝好Cuda SDK后,在macosx上回默認(rèn)安裝到/Developer/NVIDIA/CUDA-x.x目錄下,Windows上可以通過CUDA_PATH的環(huán)境變量找到對(duì)應(yīng)的SDK目錄,而 Linux下默認(rèn)會(huì)安裝到/usr/local/cuda目錄下。

xmake在執(zhí)行$ xmake 命令編譯*.cu代碼的時(shí)候,會(huì)嘗試探測(cè)這些默認(rèn)的安裝目錄,然后嘗試調(diào)用nvcc編譯器直接編譯cuda程序,大部分情況下只需要執(zhí)行:

$ xmake
創(chuàng)建和編譯Cuda工程

我之前編譯之前,我們可以通過xmake創(chuàng)建一個(gè)空的cuda工程,例如:

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

通過-l參數(shù)指定創(chuàng)建一個(gè)cuda代碼工程,工程名為test,執(zhí)行輸出如下:

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

我們也可以嘗試直接運(yùn)行這個(gè)cuda程序:

$ xmake run

接著我們來看下,這個(gè)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++的工程描述類似,唯一的區(qū)別就是通過add_cuflags設(shè)置了一些cuda代碼特有的編譯選項(xiàng),這部分配置根據(jù)用戶的需求,可自己調(diào)整。

關(guān)于add_cuflags的更多說明,可閱讀xmake的官方文檔。

Cuda編譯環(huán)境的配置

默認(rèn)情況下,xmake都能成功檢測(cè)到系統(tǒng)中安裝的Cuda SDK環(huán)境,用戶不需要做額外的配置操作,當(dāng)然如果遇到檢測(cè)不到的情況,用戶也可以手動(dòng)指定Cuda SDK的路徑:

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

來告訴xmake,你當(dāng)前的Cuda SDK的安裝目錄在哪里。

如果想要測(cè)試xmake對(duì)當(dāng)前cuda環(huán)境的探測(cè)支持,可以直接運(yùn)行:

$ 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}

來測(cè)試檢測(cè)情況,甚至可以幫忙貢獻(xiàn)相關(guān)檢測(cè)代碼find_cuda_toolchains.lua來改進(jìn)xmake的檢測(cè)過程。

其他說明

注:目前對(duì)cuda的支持剛剛完成,還沒正式發(fā)版,更多關(guān)于xmake對(duì)cuda的支持情況和進(jìn)展,見:issues #158。

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

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

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


網(wǎng)站標(biāo)題:xmake新增對(duì)Cuda代碼編譯支持的示例分析
當(dāng)前地址:http://weahome.cn/article/pdigog.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部