Mojo, bahasa pengaturcaraan baharu yang dicipta oleh Chris Lattner pencipta LLVM

mojo lang

Mojo ialah bahasa pengaturcaraan baharu yang menjanjikan prestasi yang lebih baik untuk pembangunan pembelajaran mesin

Beberapa hari lalu berita itu tersebar Chris Lattner, pengasas dan ketua arkitek LLVM dan Tim Davis, bekas ketua projek AI di Google mengeluarkan "Mojo", bahasa pengaturcaraan baharu, berdasarkan Python, yang membetulkan isu pelaksanaan dan prestasi Python.

Disebutkan bahawa Mojo bahawa menggabungkan kemudahan penggunaan untuk R&D dan prototaip pantas dengan kecukupan untuk produk akhir berprestasi tinggi. Yang pertama dicapai melalui penggunaan sintaks bahasa Python yang biasa, dan yang terakhir adalah disebabkan oleh keupayaan untuk menyusun kod mesin, mekanisme untuk pengurusan memori yang selamat, dan penggunaan alat untuk pecutan perkakasan pengiraan. .

Tentang Mojo

Bahasa pengaturcaraan baru ini menumpukan pada penggunaan untuk pembangunan pembelajaran mesin, tetapi yae dipersembahkan sebagai bahasa tujuan umum yang memanjangkan keupayaan bahasa Python dengan pengaturcaraan sistem dan sesuai untuk pelbagai tugas.

Sebagai contoh, bahasa tersebut boleh digunakan untuk bidang seperti pengkomputeran berprestasi tinggi, pemprosesan data dan transformasi data. Ciri menarik Mojo ialah keupayaan untuk menentukan simbol emoji “🔥” sebagai sambungan untuk fail kod.

Projek ini direka untuk melibatkan sumber perkakasan sistem yang terdapat dalam sistem dalam pengiraan. Contohnya, GPU, pemecut pembelajaran mesin khusus dan arahan pemprosesan vektor (SIMD) boleh digunakan untuk menjalankan aplikasi Mojo dan menyelaraskan pengiraan.

Sebab untuk membangunkan subset berasingan bahasa Python, dan bukannya menyertai kerja pengoptimuman CPython sedia ada, disebut sebagai:

Pendekatan binaan, penyepaduan keupayaan pengaturcaraan sistem, dan penggunaan seni bina dalaman yang berbeza asasnya yang membolehkan kod dilaksanakan pada GPU dan pelbagai pemecut perkakasan. Pada masa yang sama, pembangun Mojo berhasrat untuk mengekalkan sokongan CPython sebanyak mungkin.

Mojo boleh digunakan dalam mod tafsiran JIT dan untuk penyusunan ke dalam fail boleh laku (AOT, lebih awal daripada masa). Pengkompil mempunyai teknologi moden terbina dalam untuk pengoptimuman diri, caching dan kompilasi teragih.

Kodnya kod sumber dalam bahasa Mojo ditukar kepada kod perantaraan peringkat rendah MLIR (Perwakilan Perantaraan Berbilang Tahap), dibangunkan oleh projek LLVM dan menyediakan fungsi tambahan untuk mengoptimumkan pemprosesan graf aliran data.

Penggunaan mekanisme perkakasan tambahan untuk mempercepatkan pengiraan membolehkan anda mencapai prestasi yang, dengan pengiraan intensif, mengatasi prestasi aplikasi C/C++.

Chris lattner bertanggungjawab untuk mencipta banyak projek yang kita semua harapkan hari ini, walaupun kita mungkin tidak pernah mendengar tentang semua yang dia bina! Sebagai sebahagian daripada tesis PhDnya, beliau memulakan pembangunan LLVM, yang secara asasnya mengubah cara penyusun dibina dan hari ini menjadi asas kepada kebanyakan ekosistem linguistik yang paling banyak digunakan di dunia.

Dia kemudiannya mengeluarkan Clang, pengkompil C dan C++ yang terletak di atas LLVM dan digunakan oleh kebanyakan pembangun perisian terkemuka dunia (termasuk menyediakan tulang belakang untuk kod kritikal prestasi). Google). 

Apabila menilai prestasi dalam bidang penyelesaian masalah pembelajaran mesin, susunan AI Enjin Inferens Modular yang ditulis dalam bahasa Mojo, berbanding penyelesaian berdasarkan perpustakaan TensorFlow, didapati 3 kali lebih pantas pada sistem dengan pemproses intel.

Walau bagaimanapun, Chris melihat bahawa C dan C++ tidak memanfaatkan sepenuhnya kuasa LLVM, jadi semasa bekerja di Apple dia mereka bentuk bahasa baharu, dipanggil "Swift", yang disifatkannya sebagai "gula sintaks untuk LLVM". 

Perlu dinyatakan bahawa bahasa menyokong penaipan statik dan ciri ingatan tahap rendah yang selamat yang mengingatkan ciri Rust seperti penjejakan hayat rujukan dan peminjaman boleh ubah (pemeriksa pinjaman).

Sebagai tambahan kepada cara untuk operasi selamat dengan penunjuk, bahasa juga menyediakan ciri untuk kerja peringkat rendah, contohnya, adalah mungkin untuk mengakses memori secara langsung dalam mod tidak selamat menggunakan jenis penuding, memanggil arahan SIMD individu atau mengakses sambungan perkakasan seperti TensorCores dan AMX.

Pada masa ini, bahasa sedang dalam perkembangan intensif dan hanya antara muka yang ditawarkan dalam talian untuk mencuba. Janji masa depan adalah untuk mengeluarkan binaan berasingan untuk dijalankan pada sistem tempatan kemudian, selepas menerima maklum balas tentang kerja persekitaran web interaktif.

Kod sumber terbuka pengkompil, JIT, dan pembangunan berkaitan projek lain dirancang selepas reka bentuk seni bina dalaman selesai (model pembangunan untuk prototaip kerja tertutup menyerupai peringkat awal pembangunan LLVM, Clang dan Swift).

Memandangkan sintaks Mojo adalah berdasarkan Python dan sistem jenisnya hampir dengan C/C++, terdapat rancangan pada masa hadapan untuk membangunkan satu set alat untuk memudahkan menterjemah projek sedia ada yang ditulis dalam C/C++ dan Python kepada Mojo, juga untuk membangunkan projek hibrid yang menggabungkan kod Python dan Mojo.

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh melihat butirannya Dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Jaime kata

    menariknya cairn ni…. (tiada aksen)