


Bahasa peringkat tinggi GPU pertama, paralelisme besar-besaran seperti menulis Python, telah menerima 8500 bintang
Selepas hampir 10 tahun usaha tanpa henti dan penyelidikan mendalam tentang teras sains komputer, orang ramai akhirnya merealisasikan impian: menjalankan bahasa peringkat tinggi pada GPU.
Hujung minggu lalu, bahasa pengaturcaraan yang dipanggil Bend mencetuskan perbincangan hangat dalam komuniti sumber terbuka, dan bilangan bintang di GitHub telah melebihi 8,500.
GitHub: https://github.com/HigherOrderCO/Bend
Sebagai bahasa pengaturcaraan peringkat tinggi yang selari secara besar-besaran, ia masih dalam peringkat penyelidikan, tetapi idea yang dicadangkan telah membuat rasa sangat... terkejut. Dengan Bend anda boleh menulis kod selari untuk CPU/GPU berbilang teras tanpa perlu menjadi pakar C/CUDA dengan pengalaman 10 tahun, rasanya seperti Python!
Ya, Bend menggunakan sintaks Python.
Bend ialah paradigma pengaturcaraan yang menyokong bahasa ekspresif seperti Python dan Haskell Ia berbeza daripada alternatif peringkat rendah seperti CUDA dan Metal. Bend menampilkan peruntukan objek pantas, sokongan penutupan penuh untuk fungsi tertib lebih tinggi, rekursi tanpa had dan kelajuan hampir linear berdasarkan kiraan teras. Bend berjalan pada perkakasan selari secara besar-besaran dan menyediakan sokongan masa jalan berasaskan HVM2.
Penyumbang utama projek, Victor Taelin, adalah dari Brazil Dia berkongsi ciri utama dan idea pembangunan Bend pada platform X.
Pertama sekali, Bend tidak sesuai untuk algoritma pembelajaran mesin moden, kerana algoritma ini sangat teratur (pendaraban matriks) dan mempunyai memori pra-peruntukan, dan biasanya kernel CUDA yang baik sudah pun ditulis.
Kelebihan besar Bend adalah dalam aplikasi praktikal, kerana "aplikasi sebenar" biasanya tidak mempunyai bajet untuk membuat teras GPU khusus. Soalan, siapa yang membuat laman web di CUDA? Dan walaupun seseorang melakukannya, ia tidak dapat dilaksanakan kerana:
1 Aplikasi sebenar perlu mengimport fungsi dari banyak perpustakaan yang berbeza dan tidak ada cara untuk menulis kernel CUDA untuk mereka
2 mempunyai fungsi dinamik dan penutupan;
3.
Bend telah menyelesaikan beberapa percubaan baharu dan boleh menjadi agak pantas dalam sesetengah kes, tetapi sudah pasti tidak mungkin untuk menulis model bahasa yang besar sekarang.
Pengarang membandingkan kaedah lama dengan kaedah baharu, menggunakan pepohon algoritma yang sama untuk pengisihan bitonik, melibatkan peruntukan dan operasi JSON. Node.js ialah 3.5 saat (Apple M3 Max) dan Bend ialah 0.5 saat (NVIDIA RTX 4090).
Ya, pada masa ini Bend memerlukan keseluruhan GPU untuk mengalahkan Node.js pada satu teras. Tetapi sebaliknya, ini masih merupakan pendekatan baharu yang baharu berbanding pengkompil JIT yang telah dioptimumkan oleh syarikat besar (Google) selama 16 tahun. Terdapat banyak kemungkinan di masa hadapan.
Cara menggunakan
Di GitHub, penulis memperkenalkan secara ringkas proses penggunaan Bend.
Mula-mula, pasang Rust. Jika anda ingin menggunakan masa jalan C, pasang pengkompil C (seperti GCC atau Clang); jika anda ingin menggunakan masa jalan CUDA, pasang kit alat CUDA (CUDA dan nvcc) versi 12.x. Bend pada masa ini hanya menyokong GPU Nvidia.
Kemudian, pasang HVM2 dan Bend:
cargo +nightly install hvmcargo +nightly install bend-lang
Akhir sekali, tulis beberapa fail Bend dan jalankan dengan salah satu arahan berikut:
bend run<file.bend> # uses the Rust interpreter (sequential)bend run-c<file.bend> # uses the C interpreter (parallel)bend run-cu <file.bend> # uses the CUDA interpreter (massively parallel)
rreee -cu Compile Bend ke dalam fail C/CUDA kendiri untuk prestasi terbaik. Tetapi gen-c dan gen-cu masih di peringkat awal dan jauh kurang matang daripada penyusun SOTA seperti GCC dan GHC.
Pengaturcaraan Selari di Bend
Berikut adalah contoh program yang boleh dijalankan secara selari di Bend. Sebagai contoh, ungkapan:
(((1 + 2) + 3) + 4)
tidak boleh dijalankan secara selari kerana + 4 bergantung kepada + 3, yang seterusnya bergantung kepada (1+2). Dan ungkapan:
((1 + 2) + (3 + 4))
boleh dijalankan secara selari kerana (1+2) dan (3+4) adalah bebas. Syarat untuk Bend berjalan selari adalah mematuhi logik selari.
Mari kita lihat contoh kod yang lebih lengkap:
# Sorting Network = just rotate trees!def sort (d, s, tree):switch d:case 0:return treecase _:(x,y) = treelft = sort (d-1, 0, x)rgt = sort (d-1, 1, y)return rots (d, s, lft, rgt)# Rotates sub-trees (Blue/Green Box)def rots (d, s, tree):switch d:case 0:return treecase _:(x,y) = treereturn down (d, s, warp (d-1, s, x, y))(...)
该文件实现了具有不可变树旋转的双调排序器。它不是很多人期望的在 GPU 上快速运行的算法。然而,由于它使用本质上并行的分治方法,因此 Bend 会以多线程方式运行它。一些速度基准:
- CPU,Apple M3 Max,1 个线程:12.15 秒
- CPU,Apple M3 Max,16 线程:0.96 秒
- GPU,NVIDIA RTX 4090,16k 线程:0.21 秒
不执行任何操作即可实现 57 倍的加速。没有线程产生,没有锁、互斥锁的显式管理。我们只是要求 Bend 在 RTX 上运行我们的程序,就这么简单。
Bend 不限于特定范例,例如张量或矩阵。任何的并发系统,从着色器到类 Erlang 的 actor 模型都可以在 Bend 上进行模拟。例如,要实时渲染图像,我们可以简单地在每个帧上分配一个不可变的树:
# given a shader, returns a square imagedef render (depth, shader):bend d = 0, i = 0:when d < depth:color = (fork (d+1, i*2+0), fork (d+1, i*2+1))else:width = depth / 2color = shader (i % width, i /width)return color# given a position, returns a color# for this demo, it just busy loopsdef demo_shader (x, y):bend i = 0:when i < 5000:color = fork (i + 1)else:color = 0x000001return color# renders a 256x256 image using demo_shaderdef main:return render (16, demo_shader)
它确实会起作用,即使涉及的算法在 Bend 上也能很好地并行。长距离通信通过全局 beta 缩减(根据交互演算)执行,并通过 HVM2 的原子链接器正确有效地同步。
最后,作者表示 Bend 现在仅仅是第一个版本,还没有在合适的编译器上投入太多精力。大家可以预期未来每个版本的原始性能都会大幅提高。而现在,我们已经可以使用解释器,从 Python 高级语言的角度一睹大规模并行编程的样子了。
Atas ialah kandungan terperinci Bahasa peringkat tinggi GPU pertama, paralelisme besar-besaran seperti menulis Python, telah menerima 8500 bintang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











0. Apakah fungsi artikel ini? Kami mencadangkan DepthFM: model anggaran kedalaman monokular generatif yang serba boleh dan pantas. Sebagai tambahan kepada tugas anggaran kedalaman tradisional, DepthFM juga menunjukkan keupayaan terkini dalam tugas hiliran seperti mengecat kedalaman. DepthFM cekap dan boleh mensintesis peta kedalaman dalam beberapa langkah inferens. Mari kita baca karya ini bersama-sama ~ 1. Tajuk maklumat kertas: DepthFM: FastMonocularDepthEstimationwithFlowMatching Pengarang: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

Bayangkan model kecerdasan buatan yang bukan sahaja mempunyai keupayaan untuk mengatasi pengkomputeran tradisional, tetapi juga mencapai prestasi yang lebih cekap pada kos yang lebih rendah. Ini bukan fiksyen sains, DeepSeek-V2[1], model MoE sumber terbuka paling berkuasa di dunia ada di sini. DeepSeek-V2 ialah gabungan model bahasa pakar (MoE) yang berkuasa dengan ciri-ciri latihan ekonomi dan inferens yang cekap. Ia terdiri daripada 236B parameter, 21B daripadanya digunakan untuk mengaktifkan setiap penanda. Berbanding dengan DeepSeek67B, DeepSeek-V2 mempunyai prestasi yang lebih kukuh, sambil menjimatkan 42.5% kos latihan, mengurangkan cache KV sebanyak 93.3% dan meningkatkan daya pemprosesan penjanaan maksimum kepada 5.76 kali. DeepSeek ialah sebuah syarikat yang meneroka kecerdasan buatan am

AI memang mengubah matematik. Baru-baru ini, Tao Zhexuan, yang telah mengambil perhatian terhadap isu ini, telah memajukan keluaran terbaru "Buletin Persatuan Matematik Amerika" (Buletin Persatuan Matematik Amerika). Memfokuskan pada topik "Adakah mesin akan mengubah matematik?", ramai ahli matematik menyatakan pendapat mereka Seluruh proses itu penuh dengan percikan api, tegar dan menarik. Penulis mempunyai barisan yang kuat, termasuk pemenang Fields Medal Akshay Venkatesh, ahli matematik China Zheng Lejun, saintis komputer NYU Ernest Davis dan ramai lagi sarjana terkenal dalam industri. Dunia AI telah berubah secara mendadak Anda tahu, banyak artikel ini telah dihantar setahun yang lalu.

Boston Dynamics Atlas secara rasmi memasuki era robot elektrik! Semalam, Atlas hidraulik hanya "menangis" menarik diri daripada peringkat sejarah Hari ini, Boston Dynamics mengumumkan bahawa Atlas elektrik sedang berfungsi. Nampaknya dalam bidang robot humanoid komersial, Boston Dynamics berazam untuk bersaing dengan Tesla. Selepas video baharu itu dikeluarkan, ia telah pun ditonton oleh lebih sejuta orang dalam masa sepuluh jam sahaja. Orang lama pergi dan peranan baru muncul. Ini adalah keperluan sejarah. Tidak dinafikan bahawa tahun ini adalah tahun letupan robot humanoid. Netizen mengulas: Kemajuan robot telah menjadikan majlis pembukaan tahun ini kelihatan seperti manusia, dan tahap kebebasan adalah jauh lebih besar daripada manusia Tetapi adakah ini benar-benar bukan filem seram? Pada permulaan video, Atlas berbaring dengan tenang di atas tanah, seolah-olah terlentang. Apa yang berikut adalah rahang-jatuh

Awal bulan ini, penyelidik dari MIT dan institusi lain mencadangkan alternatif yang sangat menjanjikan kepada MLP - KAN. KAN mengatasi MLP dari segi ketepatan dan kebolehtafsiran. Dan ia boleh mengatasi prestasi MLP berjalan dengan bilangan parameter yang lebih besar dengan bilangan parameter yang sangat kecil. Sebagai contoh, penulis menyatakan bahawa mereka menggunakan KAN untuk menghasilkan semula keputusan DeepMind dengan rangkaian yang lebih kecil dan tahap automasi yang lebih tinggi. Khususnya, MLP DeepMind mempunyai kira-kira 300,000 parameter, manakala KAN hanya mempunyai kira-kira 200 parameter. KAN mempunyai asas matematik yang kukuh seperti MLP berdasarkan teorem penghampiran universal, manakala KAN berdasarkan teorem perwakilan Kolmogorov-Arnold. Seperti yang ditunjukkan dalam rajah di bawah, KAN telah

Video terbaru robot Tesla Optimus dikeluarkan, dan ia sudah boleh berfungsi di kilang. Pada kelajuan biasa, ia mengisih bateri (bateri 4680 Tesla) seperti ini: Pegawai itu juga mengeluarkan rupanya pada kelajuan 20x - pada "stesen kerja" kecil, memilih dan memilih dan memilih: Kali ini ia dikeluarkan Salah satu sorotan video itu ialah Optimus menyelesaikan kerja ini di kilang, sepenuhnya secara autonomi, tanpa campur tangan manusia sepanjang proses. Dan dari perspektif Optimus, ia juga boleh mengambil dan meletakkan bateri yang bengkok, memfokuskan pada pembetulan ralat automatik: Berkenaan tangan Optimus, saintis NVIDIA Jim Fan memberikan penilaian yang tinggi: Tangan Optimus adalah robot lima jari di dunia paling cerdik. Tangannya bukan sahaja boleh disentuh

Apa? Adakah Zootopia dibawa menjadi realiti oleh AI domestik? Didedahkan bersama-sama dengan video itu ialah model penjanaan video domestik berskala besar baharu yang dipanggil "Keling". Sora menggunakan laluan teknikal yang serupa dan menggabungkan beberapa inovasi teknologi yang dibangunkan sendiri untuk menghasilkan video yang bukan sahaja mempunyai pergerakan yang besar dan munasabah, tetapi juga mensimulasikan ciri-ciri dunia fizikal dan mempunyai keupayaan gabungan konsep dan imaginasi yang kuat. Mengikut data, Keling menyokong penjanaan video ultra panjang sehingga 2 minit pada 30fps, dengan resolusi sehingga 1080p dan menyokong berbilang nisbah aspek. Satu lagi perkara penting ialah Keling bukanlah demo atau demonstrasi hasil video yang dikeluarkan oleh makmal, tetapi aplikasi peringkat produk yang dilancarkan oleh Kuaishou, pemain terkemuka dalam bidang video pendek. Selain itu, tumpuan utama adalah untuk menjadi pragmatik, bukan untuk menulis cek kosong, dan pergi ke dalam talian sebaik sahaja ia dikeluarkan Model besar Ke Ling telah pun dikeluarkan di Kuaiying.

Pengesanan objek ialah masalah yang agak matang dalam sistem pemanduan autonomi, antaranya pengesanan pejalan kaki adalah salah satu algoritma terawal untuk digunakan. Penyelidikan yang sangat komprehensif telah dijalankan dalam kebanyakan kertas kerja. Walau bagaimanapun, persepsi jarak menggunakan kamera fisheye untuk pandangan sekeliling agak kurang dikaji. Disebabkan herotan jejari yang besar, perwakilan kotak sempadan standard sukar dilaksanakan dalam kamera fisheye. Untuk mengurangkan perihalan di atas, kami meneroka kotak sempadan lanjutan, elips dan reka bentuk poligon am ke dalam perwakilan kutub/sudut dan mentakrifkan metrik mIOU pembahagian contoh untuk menganalisis perwakilan ini. Model fisheyeDetNet yang dicadangkan dengan bentuk poligon mengatasi model lain dan pada masa yang sama mencapai 49.5% mAP pada set data kamera fisheye Valeo untuk pemanduan autonomi
