【自動駕駛技術】自動駕駛汽車AI芯片匯總——地平線篇

0. 前言

按照國際慣例,首先聲明:本文只是我自己學習的理解,雖然參考了他人的寶貴見解及成果,但是內容可能存在不準確的地方。如果發現文中錯誤,希望批評指正,共同進步。

本篇文章是這個系列的第二篇,介紹地平線公司的車載SoC芯片,主要是征程?(Journey?)系列產品。

自動駕駛汽車AI芯片系列目錄:

1. NVIDIA篇

地平線機器人科技有限公司(Horizon Robotics)是一家中國的人工智能計算平臺公司,專注于邊緣人工智能芯片的研發,以及基于此的解決方案。征程系列芯片是由地平線自主研發的,主要面向汽車智能駕駛領域,包括輔助駕駛、自動駕駛等應用場景。

這些芯片設計用于處理復雜的人工智能任務,具備高性能、低功耗的特點,代表了中國在車規級AI芯片領域的自主研發成果。尤其是在ZM關系日益復雜的今天,“自主研發”顯得尤為重要!

在本篇正式開始前,首先我要吐槽下地平線沒有類似NVIDIA的developer zone,也找不到一些公開的技術手冊。本文的信息大部分基于公開演講提取、整理出來,部分插圖質量會非常差,請諒解。

1. BPU

在開始介紹整體SoC產品之前我想先聊聊地平線的獨門秘技——BPU(Brain Processing Unit):

1.1 BPU介紹

BPU是由地平線提出的一種專門為人工智能應用設計的處理器架構,特別聚焦于深度神經網絡的高效計算。它是地平線在嵌入式人工智能領域的重要技術創新,旨在解決傳統處理器在處理大規模并行計算任務時的效率問題,特別是在圖像識別、語音處理、自然語言理解和控制等領域。

1.2 BPU架構理念

高度優化的AI計算引擎:BPU設計的核心是為深度學習算法量身定制,通過優化的硬件加速器實現卷積神經網絡(CNN)、循環神經網絡(RNN)、Transformer等復雜神經網絡模型的快速計算。這使得在有限的功耗和成本下,能夠達到更高的計算效率和性能。

軟硬件協同優化:地平線在開發BPU時強調軟硬件的深度整合,確保算法、編譯器和硬件架構三者之間的緊密配合。通過這種協同,BPU能夠更好地適應不斷發展的深度學習算法,實現算法效率和硬件效率的雙重提升。

1.3 BPU迭代發展

高斯架構:第一代BPU架構,標志著地平線在嵌入式人工智能領域的重大突破。這一架構專注于提升深度學習算法在邊緣設備上的運行效率(地平線一直很注重芯片能效比),以及視覺處理性能。

伯努利架構:第二代BPU架構,應用于征程2和征程3等芯片中,以其性價比、靈活性和可靠性獲得了廣泛應用。

貝葉斯架構:第三代BPU架構,用于征程5芯片,這是全球少數實現量產的大算力智能駕駛芯片之一,專為高等級智能駕駛設計,展現了強大的數據處理和實時決策能力。

納什架構:第四代BPU架構,進一步優化了深度學習加速計算,尤其擅長處理大規模參數的Transformer模型,強化了對自動駕駛場景的支持,提升了能效比和計算密度,征程6即采用了這一架構。

2. 地平線征程系列產品

2.1 征程2系列

征程2系列是地平線推出的首款車規級AI芯片,搭載伯努利1.0 BPU,標志著中國在車載AI芯片領域的突破。適用于高級輔助駕駛(ADAS)、智能座艙等場景,支持基于深度學習的圖像處理、識別等功能。

2.2 征程3系列

基于自研的BPU伯努利2.0架構,專為高級輔助駕駛設計,高效能且應用廣泛。支持深度學習的圖像檢測、分類、像素級分割,以及視頻編碼,實現自動泊車輔助等功能。理想ONE 2021款搭載征程3芯片,實現了導航輔助駕駛功能。

2.3 征程5系列

提供強大的計算能力,足以滿足未來幾年內智能汽車行業的發展需求。支持更復雜的自動駕駛功能,如NOA(Navigate on Autopilot)功能,已在理想汽車的L系列車型中應用。除了理想汽車,還有其他多家汽車廠商合作,展示了其在高級別自動駕駛領域的實力。

2.4 征程6系列

于2024年4月剛剛正式發布,預計同年第四季度完成首批量產車型交付。旗艦產品算力高達560 TOPS,是業界首款覆蓋從低到高全階智能駕駛需求的車載智能計算方案。采用第四代BPU架構“納什”,專為大規模參數的Transformer模型和高級智能駕駛優化。與比亞迪、理想汽車等十家主流車企達成合作,加速智能駕駛平權,引領未來出行。本文也將重點針對征程6系列產品進行說明。

2.5 綜合特點

統一架構:征程系列采用統一的硬件架構、工具鏈和軟件棧,便于開發和維護,支持跨代兼容。

高效能低功耗:設計注重能效比,適合車載環境的嚴苛要求。

廣泛生態:構建了開放的生態系統,促進軟硬件生態伙伴的合作,加速智能駕駛的商業化落地。

3. 征程6介紹

與以往征程系列前幾代產品不同的是,征程6(我們業內稱為J6,“鉤6”)并不是一款芯片,而是根據算力大小,分成了J6B/J6L/J6E/J6M/J6H/J6P 6款!

3.1 J6P芯片參數

CPU:18核心的ARM Cortex-A78AE,算力是410K DMIPS

BPU:如上文介紹,采用了納什架構第四代BPU,560TOPS算力(注意上圖左下角的一行小字:560TOPS算力是等效1/2稀疏網絡下的算力,必須嚴謹!)

算法支持:對Transformer算法的支持效率在業內領先,同時支持大規模交互式博弈等前沿算法,表明其在處理復雜AI任務上的優越性能。

功能安全:通過ISO 26262 ASIL-D功能安全流程認證,主動安全AEB ASIL-B產品級功能安全認證

關于J6的GPU和MCU目前沒有獲取相關參數,公開后我會再補充。

3.2 四芯合一的芯片架構

J6芯片所實現的“四芯合一”是指將以下四種關鍵處理單元集成在同一顆系統級芯片SoC上:

1. CPU(Central Processing Unit):負責通用計算任務,處理非特定的計算工作負載,是芯片的控制中心,執行操作系統的指令和應用程序的邏輯控制。

2. BPU(Brain Processing Unit):地平線自主研發的神經網絡處理單元,專門針對人工智能算法和深度學習任務進行了優化,如圖像識別、自然語言處理等,是實現智能駕駛核心算法的關鍵。

3. GPU(Graphics Processing Unit):圖形處理器,除了傳統意義上的圖形渲染,現代GPU也廣泛用于并行計算,特別是在機器視覺、環境感知等需要大量并行處理的場景中。

4. MCU(Microcontroller Unit):微控制器單元,常用于實現嵌入式控制功能,具有功能全、體積小、集成度高等特點。在J6中,MCU被集成用以處理功能安全相關的任務,確保系統的可靠性。

這種高集成度的設計不僅提升了系統性能,還顯著提高了性價比,降低了部署難度,使得單顆征程6芯片就能夠支持包括感知、規劃決策、控制、座艙感知等在內的全棧計算任務,適用于多種智能駕駛應用場景。

這種多合一實際上就是SIP(System in Package),SIP技術是一種先進的半導體封裝技術,它允許將多種功能芯片、元器件(如處理器、存儲器、傳感器、RF組件等)以及被動元件(如電阻、電容)集成在一個封裝內部,形成一個具有完整或部分系統功能的封裝模塊。與傳統的單一封裝只包含一個主要芯片(如SoC)不同,SIP技術通過并排排列、堆疊或采用3D封裝等方法,將多個獨立的芯片和組件緊密集成,從而實現了更高的集成度和更小的封裝尺寸。

總結:本文介紹了地平線公司自動駕駛SoC芯片,尤其是征程系列J6芯片。但是由于地平線的公開信息實在較少,本文僅能基于較少已有信息進行說明,后續如有進一步的公開信息,我會再補充本文內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20915.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20915.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20915.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[AIGC] DAG任務調度的概述與實踐

DAG(Directed Acyclic Graph,有向無環圖)作為任務調度的基礎模型,在大規模數據處理和計算過程中有著廣泛的應用。本文將對DAG模型的原理進行解釋并列出一些常用的任務調度工具。 文章目錄 一、什么是DAG?二、DAG任務調度的原理三、常用的DAG任…

50個常用的Docker命令及如何使用

這里整理了50個常用的Docker命令以及每個命令的使用方法。 docker version:顯示Docker版本信息。 示例:docker version docker info:顯示Docker系統信息。 示例:docker info docker pull <image>:從Docker Hub下載鏡像。 示例:docker pull ubuntu docker run <i…

spring xml配置文件中的bean標簽屬性

概述 在Spring框架中&#xff0c; 標簽用于定義和配置 Spring 容器管理的對象&#xff08;即 bean&#xff09;。 標簽有許多屬性&#xff0c;每個屬性都用來配置 bean 的特定方面。下面是一些主要屬性及其默認值的詳細說明。 屬性 1 id 說明: 用于標識 bean 的唯一標識符。…

一文帶你了解python

一文帶你了解python 簡單介紹 python是腳本語言,不需要在使用變量前進行聲明,代碼不需要編譯,由解釋器來解釋執行。python簡潔的語法可以讓你寫出比靜態語言更短的程序。使用交互式解釋器時,會自動打印輸入的一些包含值的東西;在非交互式的程序中,需要使用print函數打印…

Python獲取文件MD5值方法

Python的標準庫中提供了一個名為hashlib的模塊&#xff0c;可以用來生成MD5值。 下面是兩個方法的實現&#xff1a; 1. 通過文件路徑獲取MD5值&#xff1a; import hashlibdef calculate_md5_file(file_path):md5 hashlib.md5()with open(file_path, "rb") as f:…

啟發式算法教程(個人總結版)

1. 引言 1.1 什么是啟發式算法 啟發式算法是一類用于尋找復雜優化問題近似解的方法&#xff0c;特別適用于在計算資源有限的情況下求解大型問題。與精確算法不同&#xff0c;啟發式算法不保證找到全局最優解&#xff0c;但能在可接受的時間內提供一個質量較高的解。 1.2 啟發…

CMake編譯安裝、生成可執行程序、生成靜態動態庫以及靜態動態庫的鏈接

1 CMake介紹 CMake是一個開源的、跨平臺的構建系統&#xff0c;用于管理軟件從源代碼到可執行文件的整個構建過程。它最初由Kitware公司為ITK&#xff08;Insight Segmentation and Registration Toolkit&#xff09;和VTK&#xff08;Visualization Toolkit&#xff09;等開源…

在Linux kali下載、安裝Perl環境

目錄 Perl介紹 下載安裝 官網下載 在Windows安裝 在Linux和Mac OS安裝 Perl介紹 Perl一種功能豐富的計算機程序語言&#xff0c;運行在超過100種計算機平臺上&#xff0c;適用廣泛&#xff0c;從最初是為文本處理而開發的&#xff0c;現在用于各種任務&#xff0c;包括系統…

C語言編程數學:探索、挑戰與深度應用

C語言編程數學&#xff1a;探索、挑戰與深度應用 C語言&#xff0c;作為計算機編程的基石之一&#xff0c;不僅廣泛應用于系統級編程&#xff0c;還在數學計算領域發揮著重要作用。本文將圍繞C語言在數學編程中的四個方面、五個方面、六個方面和七個方面展開探討&#xff0c;帶…

面試官:Spring中都應用了哪些設計模式?

設計模式是我們項目中經常會涉及到的項目進行重構、解構時的一種方法。 比如我們常見的單例模式、工廠模式、策略模式、裝飾器模式等都是比較常用的&#xff1b;關于 23 種設計模式&#xff0c;大家可以找本書專門去學習一下&#xff0c;在 Java 框架的源碼中也不例外&#xf…

SRE養成計劃之01-基本命令(持續更新)

基本命令&#xff08;續&#xff09; 軟連接 軟連接 --> 原始文檔 --> 文檔數據格式&#xff1a;ln -s 原始文件或目錄 軟連接文件若原始文件或目錄被刪除&#xff0c;鏈接文件將失效軟連接可存放在不同分分區/文件系統 硬鏈接 硬鏈接 --> 文檔數據格式&#xff1…

如何用python做一個用戶登錄界面——潯川python社

1 需解決的問題&#xff1a; 1.1如何用python做一個用戶登錄界面&#xff1f; 1.2需要用到哪些庫、模塊&#xff1f; 2 問題解決&#xff1a; 2.1 回答 1.1 &#xff1a;合理即可&#xff0c;無標準回答。 2.2 回答 1.2 &#xff1a;tk庫&#xff08;縮寫&#xff09;、GUL界面…

C++20實戰之channel

C20實戰之channel 繼前面兩節的直播&#xff0c;講解了thread、jthread、stop_token、stop_source、stop_callback、cv、cv_any等的用法與底層實現&#xff0c;那么如何基于這些知識實現一個小項目呢&#xff1f; 于是引出了這篇&#xff0c;寫一個channel出來。 注&#xff1a…

【算法】快速冪

算法-快速冪 前置知識 倍增 思路 我們要求 a n a^n an。 簡單的方法是 a n a n ? 1 ? a a^na^{n-1}\cdot a anan?1?a 但是我們不妨使用倍增的思想 若 2 ∣ n 2\mid n 2∣n&#xff0c;則 a n a n 2 2 a^n{a^{\frac n 2}}^2 ana2n?2 若 2 ? n 2\nmid n 2?n&…

【AI】設計師人人必備的Ai課程,AIGC實戰教學

課程介紹 專為設計師定制的AI繪畫視覺課程&#xff0c;包含排版、插畫、海報和動漫等。共43節課程&#xff0c;2.06G視頻&#xff0c;教授AI應用技巧&#xff0c;提高設計效率和質量。內容涵蓋詞生圖方法、AI風格設計等&#xff0c;幫助學員在設計領域取得成就。 1_01-ai課程…

Flutter 中的 SliverPersistentHeader 小部件:全面指南

Flutter 中的 SliverPersistentHeader 小部件&#xff1a;全面指南 Flutter 是一個功能強大的 UI 工具集&#xff0c;用于創建美觀、高性能的移動和 web 應用。在 Flutter 的滾動組件中&#xff0c;SliverPersistentHeader 是一個特殊的組件&#xff0c;它用于在 CustomScroll…

zustand修改一個object對象的嵌套屬性,會觸發更新嗎

在 Zustand 狀態管理庫中&#xff0c;當使用 set 方法來更新一個對象的嵌套屬性時&#xff0c;并不會觸發整個對象的更新操作。相反&#xff0c;Zustand 使用了淺比較來檢測狀態的變化&#xff0c;只有當狀態內部的引用發生變化時&#xff0c;才會觸發更新操作。 因此&#xf…

jrt落地deepin

經過昨天一晚上的努力&#xff0c;把deepin和win10的雙系統安裝好了。同時把jrt開發需要的svn&#xff0c;jdk,idea安裝好里&#xff0c;代碼也checkout里。 首先安裝系統碰到安裝deepin后啟動時候無法選擇win10,在宏偉兄幫助下找到資料執行sudo update-grub解決了。 然后程…

糖果促銷【百度之星】/思維

糖果促銷 思維 大佬的解法&#xff1a; #include<bits/stdc.h> using namespace std; typedef long long ll; int main() {ll t;cin>>t;for(int i0;i<t;i){ll p,k;cin>>p>>k;if(k0) cout<<0<<endl;else{k-(k-1)/p;cout<<k<…

v-for中key的作用

v-for中key的作用 例如我們用v-for渲染一個列表[1, 2, 4 ,5]&#xff0c;然后在中間插入一個3變成[1,2,3,4,5]。v-for寫了key和沒有寫key&#xff0c;Vue是怎么處理的呢&#xff1f; Vue對有key的會調用patchKeyedChildren方法&#xff1b;沒有key的調用patchUnkeyedChildren方…