技術文檔丨如何為Apollo安裝低時延/實時內核

2021-01-15 Apollo開發者社區

本文檔描述了在Ubuntu 18.04上安裝低時延(Low-Latency) 或實時 (Realtime)內核及Nvidia驅動的步驟。

ENJOY THE FOLLOWING

僅在實車上運行Apollo軟體棧才需要低時延或實時內核。如果您的目的只是基於Apollo平臺開發/測試您的算法,或者運行仿真軟體(如Lgsvl模擬器),則可能您根本不需要安 裝這裡描述的低時延或實時內核。

Ubuntu軟體倉庫中的低時延內核足以為實車上運行Apollo提供低(或者零)時延。在其 內核配置中,任務搶佔式(PREEMPT)優化是開啟了的,時延可低至0.1毫秒。

下面是安裝Ubuntu低時延內核的步驟:

1. 安裝最新的低時延內核及其頭文件。

1sudo apt-get update2sudo apt-getinstall linux-image-$(uname -r)-lowlatency linux-headers-$(uname -r)-lowlatency

<左右滑動以查看完整代碼>

注意:

如果在執行了sudo apt-get update後通過apt list --upgradable查看有新版本內核 ,請將上述命令中的$(uname -r)改為Ubuntu軟體倉庫中最新的內核版本號。截至本 文寫作時(2020 年 12 月 2 日),Ubuntu軟體倉庫中的最新內核是5.4.0-56。

2. 重啟系統以啟動低時延內核。

sudo reboot

<左右滑動以查看完整代碼>

請按照ROS2:構建實時Linux中描述的步驟來構建和安裝最新的穩定版實時內核。雖然該文檔是按照Ubuntu 20.04來講的,但其中的步驟完全適用於Ubuntu 18.04。

對Ubuntu低時延內核而言,安裝Nvidia驅動的步驟比較簡單:

1. 從CUDA Toolkit下載頁下載並安裝Nvidia最新驅動。

在選擇安裝類型(Installer Type)時,建議選擇本地安裝(deb[local])或者網絡安裝(deb[network]) 模式。

注意:

可能需要註冊並籤署CUDA最終用戶使用協議(EULA)才可以下載Nvidia驅動及CUDA安裝包。

比如,如下是在x86_64架構的Ubuntu 18.04.5上通過本地安裝Deb軟體包的方式 安裝Nvidia驅動:

1wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin2sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-6003wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb4sudo dpkg -i cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb5sudo apt-key add /var/cuda-repo-ubuntu1804-11-1-local/7fa2af80.pub6sudo apt-get update7sudo apt-get install nvidia-driver-455

<左右滑動以查看完整代碼>

注意:

nvidia-driver-XXX的數字應該與CUDA本地安裝包中的數字一致。本例中是455。

2. 重啟系統。

3. 運行nvidia-smi檢查是否生效。

請先按照低時延內核Nvidia驅動的安裝方法完成 Nvidia 驅動的初步安裝。請注意,由於 Nvidia 驅動不支持實時內核,所以在上面執行sudo apt-get install nvidia-driver-455的步驟時會報如下錯誤消息:

1The kernel you are installing foris a PREEMPT_RT kernel! 2 3The NVIDIA driver does not support real-time kernels. If you 4are using a stock distribution kernel, please install 5a variant of this kernel that does not have the PREEMPT_RT 6patch set applied; if this is a custom kernel, please 7install a standard Linux kernel. Thentry installing the 8NVIDIA kernel module again. 910*** Failed PREEMPT_RT sanity check. Bailing out! ***

<左右滑動以查看完整代碼>

我們可以通過在編譯Nvidia驅動的時候設置 IGNORE_PREEMPT_RT_PRESENCE=1 來繞過這 一點。

步驟如下:

1. 運行如下命令來編譯Nvidia驅動:

1# 切換到Nvidia 驅動的源碼目錄 2cd "$(dpkg -L nvidia-kernel-source-455 | grep -m 1 "nvidia-drm" | xargs dirname)" 3 4# 設置 IGNORE_PREEMPT_RT_PRESENCE=1 來編譯Nvidia 驅動 5sudo env NV_VERBOSE=1 \ 6make -j8 NV_EXCLUDE_BUILD_MODULES='' \ 7KERNEL_UNAME=$(uname -r) \ 8IGNORE_XEN_PRESENCE=1 \ 9IGNORE_CC_MISMATCH=1 \10IGNORE_PREEMPT_RT_PRESENCE=1 \11SYSSRC=/lib/modules/$(uname -r)/build \12LD=/usr/bin/ld.bfd \13modules1415sudo mv *.ko /lib/modules/$(uname -r)/updates/dkms/16sudo depmod -a

<左右滑動以查看完整代碼>

2. 重啟系統。

3. 運行nvidia-smi來檢查Nvidia驅動是否正常工作。

如有需要,可按照《ESD-CAN 安裝說明》(連結見文末)來編譯安裝ESD-CAN驅動。

*《ESD-CAN 安裝說明》https://github.com/ApolloAuto/apollo-kernel/blob/master/linux/ESDCAN-README.md

相關焦點

  • Apollo 2.5技術文檔學習指南
    上個月Apollo 2.5正式發布,開放了視覺感知、實時相對地圖和高速規劃與控制三大能力,幫助開發者迅速起步,快速驗證。同時,開發者也可以使用更多、更高效的開發工具,進一步提升開發效率。這裡,我們將Apollo 2.5的技術文檔進行整理、歸納分享給開發者,幫助開發者更好更快地使用Apollo。
  • 重慶主城區內連結時延低至1毫秒,新一代政企OTN精品光網在渝發布
    據了解,該精品光網是基於OTN和SDN技術打造的政企專線承載專網,其完全繼承SDH硬管道、高可靠等特性的同時,為客戶提供時延更低、保障更強、帶寬更大、體驗更優的組網專線服務。「打個比方,汽車都在高速路上行駛,而在高速路上開設的專門通道,這就好比現有網絡和專線網絡的區別。」
  • ...雲開發即將發布實時數據推送服務,再也不用自己搭建WebSocket了
    本次採訪的嘉賓是騰訊高級工程師——周子傑,他將為我們詳細講解實時數據推送服務的開發背景、技術解決方案及未來相關的產品計劃。感謝「雲加社區」對此次採訪的支持。InfoQ:請您簡單的介紹一下自己以及目前所負責的工作。周子傑:我剛畢業時來到了騰訊文檔團隊,負責騰訊文檔實時編輯系統開發,並設計衝突處理算法。
  • 馳聲AI語音開放平臺上線,首次公開中英文智能語音評測開發文檔
    「智能技術消滅啞巴英語,讓教和學更高效」是馳聲的使命,為了讓更多的智能語言學習產品更便捷地接入馳聲技術,為此,馳聲首次公開所有自主研發的中英文語音評測內核開發文檔,助力教育品牌實現業務升級。  SDK接入文檔  馳聲中英文語音評測技術支持Linux、Windows、Mac、JS、Android、iOS、微信公眾號、微信小程序、Unity等平臺接入,也支持部分平臺離線方案調用。  2. API接入文檔  馳聲中英文語音評測技術支持WebSocket、Http協議接入。  3. 馳聲英文口語評測內核文檔  4.
  • 5G技術能為智能製造賦能哪些?
    所謂5G,即第五代移動通信技術。如果說4G技術的主要優勢在於數據傳輸速度快,能夠以50倍於3G的速度在網上瀏覽,那麼,作為網速約20倍於4G的5G技術,其價值不僅在於快,更在於能夠每平方公裡連接100萬個以上的物體、通信傳輸的錯誤率為10的負9次方、時延可達到毫秒量級。
  • AR雲@5G 中的核心技術路徑
    本文為「AR邊緣雲技術」專題系列第4篇,本公眾號將繼續推出「AR邊緣雲技術」專題系列文章,與各位分享相關信息,敬請持續關注! 視聽設備製造商壓縮、圖像處理和安全解決方案的創新技術提供商,IntoPix(比利時),即採用創新的視覺無損,輕量級和基於行的夾層壓縮技術 TICO(SMPTE RDD35),實現了 4K60P 實時編碼和解碼 僅需 96 微秒的可用 JPEG XS 實現。
  • 推理引擎Paddle Inference改造三要點,ERNIE時延降低81.3%
    實驗表明,在batch=32, layers=12, head_num=12, size_per_head=64的配置下,英偉達T4 ERNIE運行延時從224ms降至41.90ms,時延降低81.3%;在其他配置不變,batch=1的情況下,時延縮減到 2.72ms。
  • 升級Ubuntu Linux 內核的幾種不同方法
    這個指南裡介紹了 7 種為 Ubuntu 升級 Linux 內核的不同方法。這 7 種方法裡,有 5 種需要重啟系統來使新內核生效,其他兩種則不用。-- Sk這個指南裡介紹了 7 種為 Ubuntu 升級 Linux 內核的不同方法。這 7 種方法裡,有 5 種需要重啟系統來使新內核生效,其他兩種則不用。
  • 波分系統的時延怎麼計算?
    本文轉載自【微信公眾號:通信百科,ID:Txbaike】經微信公眾號授權轉載,如需轉載與原文作者聯繫我們知道,根據OSI、TCP/IP的層級定義,層級越低越靠近物理層,所涉及到的信息處理就越少,相應的時延也就越低。而波分OTN是基於L0/L1層,我們一般認為其時延都要比數據設備的時延低,這主要是波分對數據基本上不做任何的處理。
  • Apollo自動駕駛入門課程丨第⑦講—規劃(上)
    Apollo自動駕駛入門課程丨第⑥講—預測,簡要介紹了預測的主要方法以及遞歸神經網絡在預測中的應用。通過軌跡規劃,我們可以做出微妙的決策,以避開障礙物,並為乘客創造平穩的乘車體驗。在Apollo中,我們通過規劃模塊處理該任務。路線規劃的目標是,找到從地圖上的A前往B的最佳路徑。軌跡規劃的目標是找到避免碰撞和保持舒適度的可執行軌跡。路徑規劃使用三個輸入,第一個輸入為地圖,Apollo提供的地圖數據包括公路網和實時交通信息。第二個輸入為我們當前在地圖上的位置。
  • 如何將Word轉成兩頁並排為一頁的PDF文檔?
    Word轉PDF是一種基礎的文檔轉換,操作也非常簡單,但如果需要讓轉換後的PDF每一頁以原Word文檔中的每兩頁並排顯示,應該如何操作呢?首先用極速寫作打開Word文檔,然後點擊菜單欄的「列印」工具,或直接使用快捷鍵「Ctrl+P」接著進入列印設置頁面,將「每張列印頁數」更改為「每張列印2頁」系統會自動生成新的列印預覽,右側區域即可查看列印後的效果點擊頁面中間最下方的頁面切換,
  • 1毫秒時延怎麼滿足?全光智慧城市呼喚F5G
    「1ms」時延能最大化聯接和智能的價值有了聯接和智能,老百姓如何才能享受到他們的價值呢?這裡就引出了時延的話題,也就是說,當你需要聯接和智能的時候,它們可以招之即來。單志廣介紹說,如今,通過F5G全光網構建的全光智慧城市信息基礎設施,網絡時延只需要1ms,各種數字教育、數字政府、數字醫療、數字金融等特殊場景服務可以隨需而來,實現了連接和智能的價值最大化。
  • 獨具運營商特色,移動雲全新技術內核重磅發布
    架構先進 獨具運營商特色 移動雲全新技術內核重磅發布移動雲多年來積極布局雲計算研發工作,自主研創關鍵技術,鍛造核心能力,在本次分論壇上重磅發布全新技術內核——大雲作業系統。早在2007年,中國移動已正式啟動「大雲」研發項目,陸續發布「大雲1.0」至「大雲5.0」電信雲作業系統。
  • 飛書文檔——讓多人實時在線編輯更高效
    近日,在字節跳動旗下企業協作平臺飛書舉辦的「2020飛書未來無限大會」 上,正式發布了獨立App「飛書文檔」 。此前,飛書文檔一直作為字節跳動自研的企業協作平臺——飛書的在線文檔板塊,自其誕生至今,滿足了字節跳動全球近十萬人的在線協作需求,在過去一年中,字節跳動全體員工在飛書上創建了超過2000萬篇文檔。對於字節跳動來說,飛書文檔有效提高了團隊協作效率,讓多人實時在線編輯更加高效穩定。
  • 如何將紙質文檔快速轉成電子掃描件?
    過去將紙質的文檔通過掃描儀掃描成電子稿,既不環保又麻煩(需要處理圖片)。而現在只需拿起智慧型手機下載安裝相關APP(比如:百度漢語APP、QQ郵箱APP)進行掃描,就能將紙質的文檔瞬間轉成電子掃描件!熱詞推薦結合當下實時熱點,推薦最in詞彙、美句。字詞問答提供多種模糊查詢方式,如「一開頭的成語」、「愛組詞」、「什麼長什麼短的成語」等 。
  • 如何將修改的文檔保存為新的文檔
    在WPS或WORD文檔中我們可以打開文檔,再修改文檔的內容,但是有一種情況,比如我們不希望破壞原來的文檔,但又想將修改的文檔保存下來,此時我們可以使用文檔的另一項功能「另存為」。打開文檔後,修改好文檔,但是不是直接保存,直接保證的話會影響原文檔,單擊「WPS文字」右側的下拉按鈕,選擇「文件」中的「另存為」命令。彈出「另存為」對話框,此時可以按照保存文件時的方法,設置保證的路徑,文件名稱,單擊「保存」按鈕即可。保存完成後,原文件不會變,在剛剛保存的路徑中會出現新保存的文件,也就是說將文件再次存為新的文件。
  • 無人機如何在低功耗前提下實現超遠距離圖傳 | 雷鋒網公開課
    圖傳的距離和功耗在無人機上如何進行平衡?技術實現上有什麼樣的難度?為了解決這些問題,我們邀請了上海大楚電子創始人兼CEO、上海後洪電子創始人汪東為我們講述「無人機圖傳的那些事」。以下是汪東在硬創公開課的演講摘編。無線傳輸途徑和特點途徑實現超遠距離有很多選擇,可以是有線的,也可以是無線的。
  • 如何使用DokuWiki將軟硬體記入文檔?
    由於您在任何時候運行的軟硬體數量眾多,可能要將如何部署、配置和使用軟硬體記入文檔。您可能需要為員工、管理員和開發人員提供無數的核對清單和策略,那該如何是好?您可以使用簡單的Wiki伺服器。
  • 國產系統哪個系統最好_國產系統安裝方法
    五、中興新支點桌面作業系統   中興新支點作業系統由廣東新支點技術服務有限公司發布,該公司成立於2004年,是廣東省LINUX公共服務技術支持中心運營單位。中興新支點作業系統基於Linux穩定內核,經過近10年專業研發團隊的積累和發展,在安全加固、性能提升、易用管理等方面表現突出。
  • 【連載】嵌入式Linux開發教程:Linux內核
    獲取Linux內核源碼的網址為:http://www.kernel.org,在這裡能夠下載各版本的內核源碼,包括測試版和最新穩定版。Linux的吉祥物是一隻名叫Tux的企鵝,看起來像穿了一件晚禮服的企鵝,如下圖。