NVIDIA Jetson TX2 進階:Nsight Eclipse Edition
一、NSight簡介
Jetpack開發工具為人工智慧提供了一整套軟體架構,包括程式碼示例(Sample Code)、NSight開發工具(NSight Developer Tools)。同時也為我們提供了豐富的多媒體API(Multimedia API),這些API涵蓋深度學習(Deep Learning)、計算機視覺(Computer Vision)、影象渲染(Graphics)、多媒體(Media)等,對底層硬體提供了很好的支援。
如果我們在主機中安裝了Jetpack工具包,那麼開發利器Nsight Eclipse Edition已經安裝在我們的主機(Host)中。如果找不到這個應用程式安裝在哪裡,可以使用如下方法進行搜尋:
一般來說,針對嵌入式平臺的開發有兩種編譯模式:原生編譯和交叉編譯。原生編譯就是直接在嵌入式平臺上編譯程式碼並執行,而交叉編譯就是在個人電腦等平臺編譯程式碼,然後載入到嵌入式平臺執行。我們在Jetson TX1開發上使用交叉編譯,這裡需要提醒一下各位小夥伴,交叉編譯需要在Jetson TX1和Host電腦間同步程式碼,所以需要提前安裝和配置Git,否則在後續編譯執行的時候會報錯的呦,開發工具會深情地問你”Can you tell me who you are”。
二、使用NSight進行交叉編譯
我們將使用Jetpack中自帶的CUDA例程,進行交叉編譯。
1.建立CUDA工程
開啟Nsight Eclipse Edition軟體,出現工程檔案儲存地址對話方塊,我就將工程檔案儲存在了/home/jack/Nsight-WorkSpace目錄下,點選OK進入IDE:
點選IDE的File->New->CUDA C/C++ Project,開始建立CUDA工程。
選擇Import CUDA Sample,然後輸入Project name,這裡暫且命名為test。點選Next進入下一步。
選擇oceanFFT,交叉編譯這個程式進行測試。點選Next進入下一步。
這裡使用預設引數,直接點選Next。
現在,重點來了,這裡預設使用的是本地系統,也就是用主機的東西進行編譯,點選”X”號,取消Local System。隨後點選Manage,新增一個遠端連線。
進入遠端連線新增介面,點選Add進行新增。
新增資訊如下,Host name為TX1的IP地址,User name為ubuntu,其他資訊預設,點選Finish,完成新增。
點選Browse,新增工程的儲存路徑,該路徑為TX1中該工程的儲存路徑。
點選Browse之後,需要我們新增ssh連線的密碼,這裡新增ubuntu。可能會出現一些提示資訊,點選yes即可。
選擇TX1中儲存工程的路徑,我選擇的儲存路徑如下所示:
隨後,使用同樣的方法新增Toolkit,並選擇CPU架構AARch64,最終資訊如下,點選Finish完成建立:
2.交叉編譯
建立成功後,我們可以看到oceanFFT.cpp原始碼,點選Ctrl+B進行編譯,此時編譯之後會在TX1的工程目錄出現編譯好的可執行檔案。
編譯過程如下所示:
3.執行test可執行檔案
在TX1的~/Desktop/Jack_Cui/Nsight/Debug目錄下(之前填寫的TX1工程呢個路徑)會生成一個test可執行檔案,執行程式,可檢視執行結果:
執行成功!
致謝:http://blog.csdn.net/u011475210/article/details/72853170
http://blog.csdn.net/c406495762/article/details/70912947