# Tesla Dojo

Tesla Dojo és un superordinador dissenyat i construït per Tesla per al processament i reconeixement de vídeo de visió per ordinador. S'utilitzarà per entrenar els models d'aprenentatge automàtic de Tesla per millorar el seu sistema avançat d'assistència al conductor Full Self-Driving (FSD). Segons Tesla, va entrar en producció el juliol de 2023.
L'objectiu de Dojo és processar de manera eficient milions de terabytes de dades de vídeo capturades a partir de situacions de conducció reals dels més de 4 milions de cotxes de Tesla. Aquest objectiu va conduir a una arquitectura considerablement diferent dels dissenys de superordinadors convencionals.

## Història

Tesla opera diversos clústers informàtics massivament paral·lels per desenvolupar el seu sistema avançat d'assistència al conductor Autopilot. El seu clúster principal sense nom que utilitza 5.760 unitats de processament de gràfics (GPU) Nvidia A100 va ser promocionat per Andrej Karpathy el 2021 a la quarta Conferència Conjunta Internacional sobre Visió per Computador i Reconeixement de Patrons (CCVPR 2021) per ser "aproximadament el superordinador número cinc del món" a aproximadament 81,6 petaflops, basat en l'escalada del rendiment del superordinador Nvidia Selene, que utilitza components similars. Tanmateix, el rendiment del clúster de GPU principal de Tesla s'ha qüestionat, ja que no estava clar si es va mesurar mitjançant números de punt flotant d'una precisió o de doble precisió (FP32 o FP64). Tesla també opera un segon clúster de 4.032 GPU per a la formació i un tercer clúster de 1.752 GPU per a l'etiquetatge automàtic d'objectes.
El clúster principal de GPU de Tesla sense nom s'ha utilitzat per processar un milió de clips de vídeo, cadascun de deu segons de durada, extrets de les càmeres del pilot automàtic de Tesla que funcionen en cotxes Tesla al món real, amb 36 fotogrames per segon. Col·lectivament, aquests videoclips contenien sis mil milions d'etiquetes d'objectes, amb dades de profunditat i velocitat; la mida total del conjunt de dades era d'1,5 petabytes. Aquest conjunt de dades es va utilitzar per entrenar una xarxa neuronal destinada a ajudar els ordinadors del pilot automàtic dels cotxes Tesla a entendre les carreteres. A l'agost de 2022, Tesla havia actualitzat el clúster de GPU principal a 7.360 GPU.

## Arquitectura tècnica

La unitat fonamental del superordinador Dojo és el xip D1, dissenyat per un equip de Tesla liderat per l'ex-dissenyador de CPU AMD Ganesh Venkataramanan, que inclou Emil Talpes, Debjit Das Sarma, Douglas Williams, Bill Chang i Rajiv Kurian.
El xip D1 està fabricat per la Taiwan Semiconductor Manufacturing Company (TSMC) utilitzant nodes semiconductors de 7 nanòmetres (nm), té 50 mil milions de transistors i una gran mida de matriu de 645 mm$^2$ (1.0 polzada quadrada).
Actualitzat al Dia de la Intel·ligència Artificial (AI) el 2022, Tesla va anunciar que Dojo escalaria mitjançant el desplegament de múltiples ExaPOD, en els quals hi hauria:
* 354 nuclis informàtics per xip D1
* 25 fitxes D1 per fitxa d'entrenament ( 8,850 nuclis)
* 6 fitxes d'entrenament per safata del sistema ( 53,100 nuclis, juntament amb el maquinari de la interfície de l'amfitrió)
* 2 safates del sistema per armari ( 106,200 nuclis, 300 xips D1)
* 10 gabinets per ExaPOD ( 1,062,000 nuclis, 3,000 xips D1)
Segons Venkataramanan, director sènior de maquinari Autopilot de Tesla, Dojo tindrà més d'un exaflop (un milió de teraflops) de potència informàtica. Per comparació, segons Nvidia, l'agost de 2021, el centre de formació d'IA Tesla (pre-Dojo) va utilitzar 720 nodes, cadascun amb vuit GPU Nvidia A100 Tensor Core per a 5.760 GPU en total, proporcionant fins a 1,8 exaflops de rendiment.

### Xip D1

Cada node (nucli informàtic) del xip de processament D1 és una CPU de 64 bits de propòsit general amb un nucli superescalar. Admet el paral·lelisme intern a nivell d'instrucció i inclou simultaneous multithreading (SMT). No admet memòria virtual i utilitza mecanismes de protecció de memòria limitats. El programari/aplicacions Dojo gestionen els recursos del xip.
El conjunt d'instruccions D1 admet instruccions vectorials de múltiples dades (SIMD) escalars de 64 bits i de 64 bytes. La unitat d'enteres barreja un ordinador de conjunt d'instruccions reduït (RISC-V) i instruccions personalitzades, que admet nombres enters de 8, 16, 32 o 64 bits. La unitat matemàtica vectorial personalitzada està optimitzada per als nuclis d'aprenentatge automàtic i admet diversos formats de dades, amb una combinació de precisions i rangs numèrics, molts dels quals són compilables per compilador. Es poden utilitzar fins a 16 formats vectorials simultàniament.

### Node

Cada node D1 utilitza una finestra de recuperació de 32 bytes que conté fins a vuit instruccions. Aquestes instruccions s'alimenten a un descodificador de vuit amples que admet dos fils per cicle, seguit d'un programador escalar SMT de quatre amples i quatre vies que té dues unitats senceres, dues unitats d'adreces i un fitxer de registre per fil. Les instruccions vectorials es passen més avall a un programador de vectors dedicat amb SMT bidireccional, que alimenta una unitat SIMD de 64 bytes o quatre unitats de multiplicació de matrius de 8 × 8 × 4.
El router de xarxa en xip (NOC) enllaça els nuclis en una xarxa de malla bidimensional. Pot enviar un paquet d'entrada i un paquet de sortida en les quatre direccions cap a/des de cada node veí, juntament amb una lectura de 64 bytes i una escriptura de 64 bytes a la SRAM local per cicle de rellotge.
Les operacions natives de maquinari transfereixen dades, semàfors i restriccions de barrera entre memòries i CPU. La memòria de memòria dinàmica d'accés aleatori (SDRAM) síncrona de doble velocitat de dades 4 (DDR4) a tot el sistema funciona com l'emmagatzematge massiu.

### Memòria

Cada nucli té un 1,25 megabytes (MB) de memòria principal SRAM. Les velocitats de càrrega i emmagatzematge arriben als 400 gigabytes (GB) per segon i 270 GB/s, respectivament. El xip té instruccions explícites de transferència de dades de nucli a nucli. Cada SRAM té un analitzador de llista únic que alimenta un parell de descodificadors i un motor de recollida que alimenta el fitxer de registre vectorial, que junts poden transferir informació directament a través dels nodes.

### Oblia

Cada nucli té un 1,25 megabytes (MB) de memòria principal SRAM. Les velocitats de càrrega i emmagatzematge arriben als 400 gigabytes (GB) per segon i 270 GB/s, respectivament. El xip té instruccions explícites de transferència de dades de nucli a nucli. Cada SRAM té un analitzador de llista únic que alimenta un parell de descodificadors i un motor de recollida que alimenta el fitxer de registre vectorial, que junts poden transferir informació directament a través dels nodes.
Dotze nodes (nuclis) s'agrupen en un bloc local. Els nodes estan disposats en una matriu de 18 × 20 en una sola matriu, dels quals 354 nuclis estan disponibles per a aplicacions. El dau corre a 2 gigahertz (GHz) i un total de 440 MB de SRAM (360 nuclis × 1,25 MB/nucli). Arriba als 376 teraflops utilitzant números de coma flotant del cervell de 16 bits ( BF16 ) o utilitzant nombres configurables de coma flotant de 8 bits (CFloat8), que és una proposta de Tesla, i 22 teraflops a FP32.

## Referències

* ↑ Bleakley, Daniel. «Tesla to start building its FSD training supercomputer "Dojo" next month» (en anglès americà). The Driven, 22-06-2023. [Consulta: 30 juny 2023].
* ↑ Dickens, Steven. «Tesla's Dojo Supercomputer: A Paradigm Shift In Supercomputing?» (en anglès). Forbes, 11-09-2023. [Consulta: 12 setembre 2023].
* ↑ Peckham, Oliver. «Ahead of 'Dojo,' Tesla Reveals Its Massive Precursor Supercomputer» (en anglès). HPCwire, 22-06-2021.
* ↑ Peckham, Oliver. «Ahead of 'Dojo,' Tesla Reveals Its Massive Precursor Supercomputer» (en anglès). HPCwire, 22-06-2021.
* ↑ Bellan, Rebecca. «Top four highlights of Elon Musk's Tesla AI Day» (en anglès). techcrunch.com. Techcrunch, 20-08-2021. [Consulta: 20 agost 2021].
* ↑ Kostovic, Aleksandar. «Tesla Packs 50 Billion Transistors Onto D1 Dojo Chip Designed to Conquer Artificial Intelligence Training» (en anglès). Tom's Hardware, 20-08-2021. [Consulta: 30 juny 2023].
* ↑ Morris, James. «Tesla's Biggest News At AI Day Was The Dojo Supercomputer, Not The Optimus Robot» (en anglès). Forbes, 06-10-2022. [Consulta: 13 abril 2023].
* ↑ Novet, Jordan. «Tesla unveils chip to train A.I. models inside its data centers» (en anglès). cnbc.com. CNBC, 20-08-2021. [Consulta: 20 agost 2021].
* ↑ Shahan, Zachary. «NVIDIA: Tesla's AI-Training Supercomputers Powered By Our GPUs» (en anglès). CleanTechnica, 19-08-2021. Arxivat de l'original el August 19, 2021.
* ↑ Talpes, Emil; Sarma, Debjit Das; Williams, Doug; Arora, Sahil; Kunjan, Thomas IEEE Micro, 43, 3, 15-05-2023, pàg. 31–39. DOI: 10.1109/MM.2023.3258906. ISSN: 0272-1732.
* ↑ Talpes, Emil; Sarma, Debjit Das; Williams, Doug; Arora, Sahil; Kunjan, Thomas IEEE Micro, 43, 3, 15-05-2023, pàg. 31–39. DOI: 10.1109/MM.2023.3258906. ISSN: 0272-1732.
* ↑ Talpes, Emil; Sarma, Debjit Das; Williams, Doug; Arora, Sahil; Kunjan, Thomas IEEE Micro, 43, 3, 15-05-2023, pàg. 31–39. DOI: 10.1109/MM.2023.3258906. ISSN: 0272-1732.
* ↑ Morgan, Timothy Prickett , 23-08-2022.
* ↑ «Tesla Dojo Technology: A Guide to Tesla's Configurable Floating Point Formats & Arithmetic» (en anglès). Tesla, Inc.. Arxivat de l'original el October 12, 2021.