
Besok akan ada siaran pers resmi tentang penggabungan Silicon Valley, MIPS, dengan perusahaan AI Wave Computing. Informasi tentang acara ini bocor ke media kemarin, dan tak lama kemudian CNet, Forbes, EE Times dan banyak situs teknologi tinggi keluar dengan artikel tentang acara ini. Jadi hari ini, Derek Meyer, presiden perusahaan gabungan (gambar di bawah kanan), berkata "oke, bagikan informasinya dengan teman-teman" dan saya memutuskan untuk menulis beberapa kata tentang teknologi dan orang-orang yang terkait dengan acara ini.
Investor utama dalam MIPS dan Wave adalah miliarder Dado Banatao (gambar di bawah, kiri tengah), yang mendirikan perusahaan Chips & Technoilogies pada 1980-an, yang membuat chipset untuk staf awal. Ada selebriti lain di Wave + MIPS, seperti Stephen Johnson (foto di kanan atas), penulis kompiler C paling populer di awal 1980-an. MIPS dikenal di Rusia. Di tangan perancang Smriti (gambar kiri) adalah papan dari Zelenograd, di mana pemegang lisensi MIPS Elvis-NeoTek dan Baikal Electronics berada.
Wave telah merilis sebuah chip yang terdiri dari ribuan unit pemrosesan, prosesor yang pada dasarnya disederhanakan. Desain ini dioptimalkan untuk komputasi jaringan saraf yang sangat cepat. Wave memiliki kompiler yang mengubah grafik dataflow menjadi file konfigurasi untuk struktur ini.
Perusahaan gabungan akan membuat chip yang terdiri dari campuran unit-unit komputasi seperti itu dan inti MIPS multi-ulir. Sekarang Wave menjual teknologinya dalam bentuk kotak untuk pusat data, untuk komputasi jaringan saraf di cloud. Chip berikut akan digunakan dalam perangkat yang disematkan.
Jaringan saraf secara tradisional direpresentasikan sebagai grafik aliran data. Ini adalah grafik yang simpul-simpulnya mengandung konstanta, variabel, dan operasi aritmatika pada skalar, vektor, dan matriks:

Google telah membuat pustaka TensorFlow, yang merupakan API untuk membuat grafik dan menjalankan komputasi pada grid - baik inferensi reguler dan pelatihan menggunakan backpropfgftion. API ini paling sering digunakan bersama dengan python, kode yang terlihat seperti ini:

Pada saat yang sama, python dalam contoh di atas menggunakan redefinisi operasi aritmatika, yang sebenarnya tidak menghitung, tetapi membangun grafik dalam memori. Di C, kode untuk membuat grafik di TensorFlow terlihat seperti ini:

Di Google saya punya teman programmer Ukraina Mikhail Simbirsky yang menggunakan TensorFlow pada python. Jaringan saraf Google digunakan, misalnya, untuk menganalisis perilaku pengguna untuk menargetkan mereka dengan iklan. Beberapa perhitungan untuk melatih jaringan saraf Google membutuhkan berhari-hari dan berminggu-minggu, terlepas dari kenyataan bahwa Google menggunakan GPU NVidia dan akselerator Google sendiri. Ini bukan tugas yang mudah, karena mentransfer data antara prosesor dan GPU memakan waktu:

Salah satu masalah desain prosesor dan GPU adalah bahwa GPU tidak digunakan untuk waktu yang lama:

Masalah lain adalah bandwidth memori yang tidak mencukupi dari antarmuka. Wave dalam kombinasi dengan MIPS akan menyelesaikan satu dan masalah lainnya. Dalam produk baru, bukan prosesor yang akan menggunakan akselerator sebagai koprosesor, tetapi mereka akan bekerja bersama.
Untuk ini, inti MIPS akan dimodifikasi untuk akhirnya membuat platform perangkat keras standar untuk AI. Keuntungan dari core MIPS I6400 / I6500 (Samurai / Daimio) dan MIPS I7200 (berlisensi oleh MediaTek) adalah multithreading. ARM tidak memiliki multithreading. Berikut tampilan pipa multi-utas di inti MIPS I6400:

Dan sekarang pertanyaannya adalah untuk komentator yang paling cerdas: menurut Anda apa manfaat multithreading untuk kombinasi CPU dan akselerator perangkat keras? Secara khusus, akselerator dari Wave, yang merupakan varian dari apa yang disebut CGRA - Coarse Grained Reconfigurable Array - array reconfigurable berbutir kasar.
Jika Anda terbiasa dengan FPGA (Field Programmable Gate Array) / FPGA (Programmable Logic Integrated Circuits), maka gagasan CGRA agak mirip, tetapi mereka tidak bekerja dengan bit individual, tetapi dengan seluruh bus 8-64 bit dan di setiap sel ada ALU, dan untuk beberapa sel - coprocessor aritmatika. Seperti inilah keseluruhan hierarki:

Dan ini adalah satu sel yang dapat dikonfigurasi ulang. Dia memiliki buffer kecil dengan instruksi yang menyerupai perintah sederhana mikrokontroler baterai 8-bit, seperti 6502, yang ada di komputer Apple pertama. Pada saat yang sama, prosesor di Apple kuno bekerja pada frekuensi beberapa megahertz, dan sel-sel di CGRA beroperasi pada frekuensi beberapa gigahertz. Selain itu, hanya ada satu prosesor di Apple, tetapi ada 16 ribu sel seperti itu:

Kristal di Wave jelas besar, jadi Anda harus menggunakan sirkuit yang disinkronkan secara lokal dengan sinyal jam untuk setiap kelompok sel. Tetapi masalah terbesar bukanlah perangkat keras, tetapi perangkat lunak. Grafik untuk menghitung kisi harus tersebar pada sekelompok perangkat ini dengan pengetahuan yang tepat di mana siklus itu akan dihitung. Ini disebut penjadwalan statis. Oleh karena itu, Wave menyewa sekelompok kompiler, termasuk bison terkenal - Stephen Johnson, yang berdiri di tempat asalnya bersama Kernigan dan Richie. Inilah yang ditulis Dennis Ritchie tentang Stephen Johnson:
Pada 1980-an, C dengan cepat mendapatkan popularitas dan kompiler menjadi tersedia di hampir setiap mesin dan sistem operasi; khususnya, telah menjadi populer sebagai bahasa pemrograman untuk komputer pribadi, baik untuk pengembang perangkat lunak komersial untuk mesin ini dan untuk pengguna biasa yang tertarik pada pemrograman. Pada awal dekade, hampir setiap kompiler didasarkan pada pcc Johnson; pada tahun 1985, sudah ada banyak kompiler yang dibuat oleh pengembang independen.
Ketika saya berusia 18 tahun (pada tahun 1988) dan saya adalah seorang mahasiswa di MIPT, Stephen Johnson adalah Tuhan saya. Saya berpartisipasi dalam pengembangan dua kompiler berdasarkan Portable C Compiler. Salah satu kompiler adalah untuk Electronics SS LSI, Palang Merah, setara dengan superkomputer vektor Cray-1. Kompiler kedua adalah untuk Orbit 20-700, sebuah komputer terintegrasi pada pesawat tempur MiG-29 Soviet dan lainnya pada awal 1980-an.
Jadi saya hanya perlu berfoto dengan Stephen Johnson. Dia memberi tahu saya tentang alat lain yang dia buat untuk Unix, dan untuk otomatisasi desain, profil otomatis, dll.

Dan tentu saja, Dado Banatao difoto dengan seorang investor dalam semua bisnis ini. Sekali waktu, Dado Banatao menciptakan chipset untuk coretan pertama. Dia membohongi pengemudi dengan Ballmer. “Terkadang Bill Gates datang ke kamar, yang mengganggu kami,” kata Dado Banatao. Sekarang, menurut internet, ia memiliki lima miliar dolar. Dia adalah Filipina teknologi tinggi paling terkenal, menciptakan pusat AI dan menjalankan program pendidikan lainnya di tanah kelahirannya.

Dado Banatao menghasilkan uang paling banyak di Marvell. Ini kantornya di Santa Clara di bawah sinar matahari sore:

Wave mempekerjakan banyak orang yang dulu bekerja di MIPS. Dan beberapa MIPS ada di Silicon Graphics, karena MIPS adalah bagian dari Silicon Graphics pada 1990-an. Pada masa itu, prosesor MIPS berada di stasiun grafis yang digunakan di Hollywood untuk merekam film grafis realistis pertama seperti Jurassic Park. Stasiun grafik ini bersama dengan gadis Siberia Irina di Computer History Museum di Mountain View, California:

Pada akhir pesta hari ini, untuk menghormati pengumuman resmi besok dan publikasi pers kemarin, makan kue dan minum sampanye terjadi:

Besok akan ada banyak pekerjaan - dari Verilog RTL (tanggung jawab langsung saya) untuk membahas arsitektur, aplikasi, dan bahkan berbicara dengan para ilmuwan data (mereka merasa diri mereka dari Semesta lain, apalagi, ini saling menguntungkan dengan insinyur dan kompiler elektronik).