Mojo, bahasa pemrograman baru yang dibuat oleh Chris Lattner pencipta LLVM

mojo lang

Mojo adalah bahasa pemrograman baru yang menjanjikan kinerja yang lebih baik untuk pengembangan pembelajaran mesin

Beberapa hari yang lalu tersiar kabar bahwa Chris Latner, pendiri dan kepala arsitek LLVM dan Tim Davis, mantan kepala proyek AI di Google merilis "Mojo", bahasa pemrograman baru, berdasarkan Python, yang memperbaiki implementasi Python dan masalah kinerja.

Disebutkan bahwa Mojo bahwa menggabungkan kemudahan penggunaan untuk R&D dan pembuatan prototipe cepat dengan kecukupan untuk produk akhir berkinerja tinggi. Yang pertama dicapai melalui penggunaan sintaks bahasa Python yang sudah dikenal, dan yang terakhir adalah karena kemampuan untuk mengkompilasi ke kode mesin, mekanisme manajemen memori yang aman, dan penggunaan alat untuk akselerasi perhitungan perangkat keras. .

Tentang Mojo

Bahasa pemrograman baru ini berfokus pada penggunaan untuk pengembangan pembelajaran mesin, tapi yae disajikan sebagai bahasa tujuan umum yang memperluas kemampuan bahasa Python dengan pemrograman sistem dan cocok untuk berbagai tugas.

Misalnya, bahasa ini berlaku untuk area seperti komputasi performa tinggi, pemrosesan data, dan transformasi data. Fitur menarik dari Mojo adalah kemampuan untuk menentukan simbol emoji “🔥” sebagai ekstensi untuk file kode.

Proyek ini dirancang untuk melibatkan sumber daya perangkat keras dari sistem yang tersedia dalam sistem dalam perhitungan. Misalnya, GPU, akselerator pembelajaran mesin khusus, dan instruksi pemrosesan vektor (SIMD) dapat digunakan untuk menjalankan aplikasi Mojo dan memparalelkan komputasi.

Alasan untuk mengembangkan subset terpisah dari bahasa Python, daripada bergabung dengan pekerjaan pengoptimalan CPython yang ada, dikutip sebagai berikut:

Pendekatan build, integrasi kemampuan pemrograman sistem, dan penggunaan arsitektur internal yang berbeda secara fundamental yang memungkinkan kode dieksekusi pada GPU dan berbagai akselerator perangkat keras. Pada saat yang sama, pengembang Mojo berniat untuk tetap menggunakan dukungan CPython sebanyak mungkin.

Mojo dapat digunakan baik dalam mode interpretasi JIT maupun untuk kompilasi menjadi file yang dapat dieksekusi (AOT, sebelumnya). Kompiler memiliki teknologi modern bawaan untuk pengoptimalan mandiri, caching, dan kompilasi terdistribusi.

Kode kode sumber dalam bahasa Mojo diubah menjadi kode perantara tingkat rendah MLIR (Multi-Level Intermediate Representation), dikembangkan oleh proyek LLVM dan menyediakan fungsi tambahan untuk mengoptimalkan pemrosesan grafik aliran data.

Penggunaan mekanisme perangkat keras tambahan untuk mempercepat komputasi memungkinkan Anda mencapai performa yang, dengan komputasi intensif, mengungguli aplikasi C/C++.

Chris lattner bertanggung jawab untuk membuat banyak proyek yang kita semua andalkan hari ini, meskipun kita mungkin belum pernah mendengar semua yang dia bangun! Sebagai bagian dari tesis PhD-nya, dia memulai pengembangan LLVM, yang secara mendasar mengubah cara pembuatan kompiler dan saat ini membentuk dasar dari banyak ekosistem linguistik yang paling banyak digunakan di dunia.

Dia kemudian merilis Dentang, kompiler C dan C++ yang berada di atas LLVM dan digunakan oleh sebagian besar pengembang perangkat lunak top dunia (termasuk menyediakan tulang punggung untuk kode kritis kinerja) dari Google). 

Saat mengevaluasi kinerja di bidang pemecahan masalah pembelajaran mesin, tumpukan AI Mesin Inferensi Modular yang ditulis dalam bahasa Mojo, dibandingkan dengan solusi berdasarkan pustaka TensorFlow, ditemukan 3 kali lebih cepat pada sistem dengan prosesor intel

Namun, Chris melihat bahwa C dan C++ tidak memanfaatkan kekuatan LLVM sepenuhnya, jadi saat bekerja di Apple dia merancang bahasa baru, yang disebut "Swift", yang dia gambarkan sebagai "gula sintaks untuk LLVM". 

Perlu disebutkan bahwa bahasa mendukung pengetikan statis dan fitur memori tingkat rendah yang aman yang mengingatkan pada fitur Rust seperti pelacakan masa pakai referensi dan peminjaman variabel (pemeriksa pinjaman).

Selain sarana untuk pengoperasian yang aman dengan penunjuk, bahasa juga menyediakan fitur untuk pekerjaan tingkat rendah, misalnya, dimungkinkan untuk mengakses memori secara langsung dalam mode tidak aman menggunakan jenis penunjuk, memanggil instruksi SIMD individual, atau mengakses ekstensi perangkat keras seperti TensorCores dan AMX.

Saat ini, bahasa sedang dalam pengembangan intensif dan hanya antarmuka yang ditawarkan daring untuk mencoba. Janji masa depan adalah merilis build terpisah untuk dijalankan di sistem lokal nanti, setelah menerima umpan balik tentang pekerjaan lingkungan web interaktif.

Kode sumber terbuka kompiler, JIT, dan pengembangan terkait proyek lainnya direncanakan setelah desain arsitektur internal selesai (model pengembangan untuk prototipe kerja pintu tertutup menyerupai tahap awal pengembangan LLVM, Clang, dan Swift).

Karena sintaks Mojo didasarkan pada Python dan sistem tipenya dekat dengan C/C++, ada rencana di masa depan untuk mengembangkan seperangkat alat untuk mempermudah menerjemahkan proyek yang ada yang ditulis dalam C/C++ dan Python ke Mojo, demikian juga untuk mengembangkan proyek hybrid yang menggabungkan kode Python dan Mojo.

Akhirnya, jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat berkonsultasi dengan detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   jaime dijo

    menarik piramida dr batu kasar ini…. (tanpa aksen)