# Sistem Evolusi Cerdas EvoX dan Praktik Penelitian Ilmiah AI Native — Materi Kuliah

Durasi: 1 · Halaman materi: 16

## Navigasi Bacaan

- [Pelajaran 4｜Topik: Basis Komputasi Modern dan Evolusi Paralel Ter-Tensorisasi](#lecture-lesson-1)

---

<a id="lecture-lesson-1"></a>

## Pelajaran 4｜Topik: Basis Komputasi Modern dan Evolusi Paralel Ter-Tensorisasi

<a id="lecture-page-1"></a>

### Basis Komputasi Modern dan Evolusi Paralel Ter-Tensorisasi

*Halaman 1*

> **Tujuan Halaman:** Mempelajari bagaimana EvoX mengorganisir populasi, evaluasi, dan status menjadi tensor yang dapat dihitung secara keseluruhan, mengatasi hambatan serial tradisional untuk mencapai percepatan skala besar.

> **Tujuan Halaman**
>
> Halaman ini menjadi pembuka pelajaran keempat, menunjukkan masalah inti yang akan diselesaikan — ketika ukuran populasi, jumlah evaluasi, dan langkah iterasi algoritma evolusi terus meningkat, pemrosesan serial per-individu dan per-langkah tradisional menjadi hambatan yang jelas. Garis utama pelajaran ini adalah melihat bagaimana EvoX mengorganisir ulang populasi, evaluasi, dan status menjadi tensor yang dapat berpartisipasi dalam komputasi secara keseluruhan, sehingga mendapatkan percepatan substansial dalam skenario skala besar.

> **Urutan Penyampaian**
>
> Dapat dimulai dengan pertanyaan intuitif — "Jika populasi memiliki seratus ribu individu, dan kita masih memprosesnya satu per satu dalam loop, apa yang akan terjadi?" Memandu siswa menyadari pemborosan ganda dari loop serial dalam hal waktu dan pemanfaatan perangkat keras. Kemudian berikan arah jawaban pelajaran ini: memperlakukan seluruh populasi sebagai sekumpulan data, memperlakukan pembaruan satu generasi sebagai satu operasi batch, sehingga komputasi dapat dijalankan secara paralel pada perangkat keras. Terakhir, perkenalkan peran lapisan Runtime, yang bertanggung jawab menjadwalkan daya komputasi heterogen sambil menjaga komposabilitas algoritma.

**Poin Pengajaran**

- 1. Ekspresi ter-tensorisasi — populasi, evaluasi kebugaran, dan status internal algoritma tidak lagi berupa objek yang tersebar, melainkan diorganisir menjadi tensor dengan bentuk yang seragam, sehingga evolusi satu generasi dapat diekspresikan sebagai beberapa operasi batch. Keuntungannya adalah pola komputasi yang teratur, mudah divektorisasi, dan deskripsi algoritma yang sama dapat beradaptasi dengan ukuran populasi yang berbeda. 2. Mengatasi hambatan serial — dalam implementasi tradisional, evaluasi dan pembaruan status sering dilakukan per individu, dan ketika skala membesar, overhead loop dan penantian sinkronisasi akan mendominasi waktu eksekusi
- Setelah dibatch, overhead ini terdistribusi, dan throughput meningkat secara signifikan. 3. Peran penjadwalan Runtime — Runtime berada di antara deskripsi algoritma dan perangkat keras dasar, bertanggung jawab mendistribusikan operasi batch ke CPU, GPU, dan daya komputasi heterogen lainnya, sehingga penulis algoritma tidak perlu menulis ulang logika untuk setiap perangkat. Pada saat yang sama, ia menjaga komposabilitas komponen algoritma, memungkinkan operator dan strategi yang berbeda digabungkan secara bebas tanpa merusak kemampuan paralel.

**Cakupan Kata Kunci**

- Tensorisasi, komputasi batch, hambatan serial, percepatan skala besar, penjadwalan daya komputasi heterogen, komposabilitas algoritma.

**Pemeriksaan Pemahaman**

Minta siswa menjelaskan dengan kata-kata sendiri apa sebenarnya yang berubah dari "mengubah populasi menjadi tensor" — jawaban yang diharapkan harus mengarah pada "berubah dari loop per-individu menjadi operasi batch keseluruhan, sehingga perangkat keras paralel benar-benar dimanfaatkan"; jika hanya mengulang istilah tanpa menjelaskan sebab-akibat, dapat diarahkan untuk mengorganisir ulang pernyataan dari dua sudut pandang: jumlah komputasi dan pemanfaatan perangkat keras.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa telah membangun rantai sebab-akibat dasar "tensorisasi → komputasi batch → percepatan paralel", lanjutkan ke halaman berikutnya untuk melihat secara spesifik bagaimana populasi dan status diorganisir menjadi tensor, serta bagaimana Runtime menyelesaikan penjadwalan.

<a id="lecture-page-2"></a>

### Basis Komputasi Modern dan Evolusi Paralel Ter-Tensorisasi

*Halaman 2*

> **Tujuan Halaman:** Pembelajar harus memahami kontradiksi antara kebutuhan daya komputasi skala besar dalam komputasi evolusioner modern dan arsitektur serial tradisional.

> **Tujuan Halaman**
>
> Memahami kontradiksi antara kebutuhan daya komputasi skala besar dalam komputasi evolusioner modern dan arsitektur serial tradisional; menguasai pendekatan mengorganisir populasi, evaluasi, dan status menjadi tensor untuk mendorong evolusi secara batch paralel; mengenali perluasan generasi kandidat oleh model besar, dan trade-off arsitektur tingkat sistem yang dihasilkannya.

> **Urutan Penyampaian**
>
> Pertama tunjukkan kontradiksi inti "keragaman → jumlah evaluasi → biaya manajemen status dan penjadwalan", lalu jelaskan mengapa loop serial mencapai batas terlebih dahulu; selanjutnya kembangkan tiga lapisan tensorisasi — tensor populasi, tensor evaluasi, tensor status, dan rangkum istilah inti "paralel batch"; kemudian jelaskan bagaimana model besar mendorong generasi kandidat ke batas baru; terakhir jatuh ke contoh skenario EvoX dan trade-off tingkat sistem, serta tangani latihan dan kasus.

**Poin Pengajaran**

- Evolusi bergantung pada keragaman populasi, dan keragaman langsung dikonversi menjadi jumlah evaluasi, biaya manajemen status, dan penjadwalan. Dalam loop CPU serial per-individu, setiap individu harus memanggil fungsi tujuan secara terpisah, memperbarui status secara terpisah, dan mencatat log secara terpisah
- Ketika populasi tumbuh dari puluhan menjadi ribuan, jumlah evaluasi dan waktu wall clock tumbuh hampir linear, dan begitu satu simulasi berbiaya tinggi, throughput keseluruhan terkunci pada "irama inti tunggal". Semakin tinggi keragaman, semakin mahal evaluasi, semakin jelas hambatan serial. Pendekatan tensorisasi adalah mengorganisir ulang populasi, evaluasi, dan status menjadi tensor yang dapat dihitung secara keseluruhan. Tensor populasi menumpuk semua parameter kandidat menjadi tensor dua dimensi "jumlah individu × dimensi", satu panggilan operator menyelesaikan mutasi dan pembaruan seluruh populasi
- Tensor evaluasi mengemas permintaan evaluasi batch dan mengirimkannya, dieksekusi secara paralel oleh GPU atau layanan batch, lalu menggabungkan nilai kembalian
- Tensor status memelihara status antara seperti kebugaran, pelanggaran kendala, peringkat dalam bentuk tensor, sehingga seleksi, pengurutan, dan pembaruan dapat dihitung secara keseluruhan. Ketiganya bersama-sama membentuk "paralel batch", yang mengubah beban komputasi dari keragaman menjadi skala yang dapat diserap oleh throughput, sehingga bukan detail optimasi, melainkan masalah infrastruktur komputasi evolusioner modern. Ketika skala komputasi terbuka, pertanyaan kunci bergeser dari "bisakah menghitung" menjadi "dari mana kandidat berasal". Model besar dapat memahami bahasa alami, kode, pengetahuan domain, dan konteks proyek, dan berdasarkan itu membangun kandidat dengan struktur kompleks, memperluas objek evolusi dari parameter numerik ke program, algoritma, bahkan status sistem lengkap
- Pendekatan encoding dan mutasi yang dulunya bergantung pada desain manual, mulai dapat dihasilkan oleh model. Dua kekuatan bertemu: GPU memungkinkan banyak kemungkinan dieksplorasi secara simultan, model besar membuat sistem menghasilkan kemungkinan yang lebih kaya, dan mekanisme evolusi bertanggung jawab mengirim kandidat ke tugas nyata, melalui eksekusi dan evaluasi menentukan perubahan mana yang layak dipertahankan. Bagi insinyur algoritma dan pengembang sistem, ini bukan optimasi lokal, melainkan trade-off arsitektur: perlu membuat trade-off tingkat sistem antara kekayaan generasi kandidat, throughput komputasi batch, dan kompleksitas rekayasa. Keragaman adalah prasyarat efektivitas evolusi, tetapi harus dicerna oleh throughput. Dalam skenario EvoX, jika masih menggunakan loop CPU serial untuk evaluasi per-individu, ukuran populasi akan dibatasi oleh throughput
- Setelah beralih ke paralel batch ter-tensorisasi, dalam satu putaran dapat secara simultan mengorganisir parameter, status evaluasi, dan pembaruan dari banyak kandidat, sehingga "mempertahankan keragaman" dan "eksplorasi skala besar" dapat dilakukan secara bersamaan dalam rekayasa.

**Cakupan Kata Kunci**

- Paralel batch, tensorisasi, tensor populasi, tensor evaluasi, tensor status, hambatan serial, generasi kandidat, trade-off tingkat sistem.

**Penanganan Latihan**

Halaman ini memiliki 5 soal pilihan ganda dan 1 soal kasus, total 2 pertanyaan. Soal pilihan ganda masing-masing memeriksa kontradiksi inti, cara implementasi paralel batch, peran model besar, trade-off tingkat sistem setelah migrasi, dan perubahan langsung dalam skenario EvoX. Saat menjawab, pegang dua garis utama: pertama, rantai sebab-akibat "keragaman → beban komputasi → hambatan serial → paralel batch"; kedua, pembagian kerja "model besar bertanggung jawab menghasilkan kandidat yang lebih kaya, mekanisme evaluasi bertanggung jawab menentukan kandidat mana yang layak dipertahankan". Pertanyaan pertama soal kasus meminta diagnosis hambatan serial dan menjelaskan bagaimana tensorisasi mengubah cara organisasi dari tiga tempat: populasi, evaluasi, status; pertanyaan kedua meminta memberikan penilaian trade-off dari dimensi kekayaan kandidat vs throughput batch, manfaat eksplorasi vs kompleksitas rekayasa, throughput batch vs fidelity evaluasi, dll.

Jawaban yang benar harus dapat menghubungkan konsep halaman ini dan menjelaskan dasar; jika penilaian salah, kembali ke rantai sebab-akibat "keragaman → jumlah evaluasi → biaya manajemen status dan penjadwalan", dan bedakan "mempercepat loop serial yang sama" dengan "mengubah cara organisasi komputasi".

**Pemeriksaan Pemahaman**

Minta seorang siswa secara acak merangkum poin utama halaman ini dengan kata-kata sendiri, terutama menjelaskan bagaimana keragaman dikonversi menjadi beban komputasi, mengapa serial mencapai batas, bagaimana paralel batch ter-tensorisasi mengorganisir populasi, evaluasi, dan status. Jika siswa hanya dapat mengulang istilah tanpa menjelaskan sebab-akibat, arahkan kembali ke perbandingan kemiringan dalam diagram dan tanda "hambatan serial: throughput mencapai batas".

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat menyebutkan hubungan inti halaman ini — keragaman membawa beban komputasi, eksekusi serial mencapai batas, paralel batch ter-tensorisasi mencerna skala dengan komputasi keseluruhan — lanjutkan ke halaman berikutnya untuk contoh soal, aplikasi, atau ringkasan.

<a id="lecture-page-3"></a>

### Tantangan Keragaman Evolusi dan Skala Komputasi

*Halaman 3*

> **Tujuan Halaman:** Pembelajar harus memahami tekanan komputasi yang ditimbulkan oleh trade-off multi-tujuan dan keragaman kandidat dalam masalah nyata.

> **Tujuan Halaman**
>
> Memahami tekanan komputasi yang ditimbulkan oleh trade-off multi-tujuan dan keragaman kandidat, menguasai Pareto front, hubungan dominasi, serta ketegangan antara pemeliharaan keragaman dan biaya evaluasi.

**Poin Pengajaran**

- Hanya ketika masalah memiliki satu tujuan, terdapat solusi optimal yang unik. Masalah rekayasa nyata biasanya memiliki beberapa tujuan yang saling membatasi (gaya angkat dan hambatan, presisi dan latensi, kinerja dan biaya), dalam hal ini "jawaban yang baik" adalah sekumpulan solusi trade-off yang saling tidak mendominasi, yaitu Pareto front. Bandingkan A apakah pada semua tujuan tidak lebih buruk dari B → apakah setidaknya ada satu tujuan di mana A secara ketat lebih baik → keduanya harus terpenuhi agar A mendominasi B. Selama ada satu item di mana A lebih buruk, keduanya saling tidak mendominasi, keduanya mungkin tetap berada di front. Sumbu horizontal f1, sumbu vertikal f2, keduanya semakin kecil semakin baik
- Klaster A cenderung f1 rendah, klaster B kompromi, klaster C cenderung f2 rendah
- Titik abu-abu adalah solusi yang didominasi. Pengambil keputusan memerlukan ruang trade-off yang diwakili oleh seluruh front, bukan satu titik yang dipilih algoritma. Mengacu pada perbedaan terstruktur yang tersebar di sepanjang arah trade-off yang berbeda di Pareto front. Cakupan arah — mengisi ujung kiri atas front, bagian tengah, ujung kanan bawah
- Retensi perbedaan — kandidat yang hampir sama setara dengan satu
- Nilai keputusan — preferensi sering kali jelas setelah fakta, mempertahankan kandidat yang berbeda memungkinkan pemilihan ulang tanpa biaya. Semakin kuat keragaman, semakin luas ruang pencarian, semakin besar ukuran populasi, semakin banyak jumlah evaluasi. Ketika evaluasi bergantung pada simulasi fidelity tinggi (seperti perhitungan aerodinamika airfoil superkritis yang memakan waktu berjam-jam), biaya evaluasi tunggal diperbesar menjadi hambatan utama. Penanganan umum: model surrogate menggantikan sebagian besar evaluasi fidelity tinggi
- mengalokasikan anggaran fidelity tinggi yang terbatas secara prioritas kepada kandidat yang paling dapat memperluas cakupan front
- mengalokasikan ulang anggaran antara ukuran populasi dan jumlah generasi. Menyamakan keragaman dengan noise acak atau menjalankan beberapa kali lebih banyak. Keragaman yang sebenarnya adalah perbedaan arah yang terstruktur
- gangguan acak murni tidak akan memperluas cakupan front, juga tidak dapat mengurangi kesulitan pengambilan keputusan. Petunjuk latihan (5 soal pilihan ganda + 1 analisis kasus): Pareto front adalah sekumpulan solusi trade-off yang saling tidak mendominasi, di mana dua solusi mana pun memiliki kelebihan dan kekurangan masing-masing pada tujuan yang berbeda. A lebih baik pada f1, B lebih baik pada f2, keduanya saling tidak mendominasi, keduanya mungkin tetap berada di front. Keragaman adalah perbedaan terstruktur yang tersebar di sepanjang arah trade-off yang berbeda di Pareto front, langsung melayani pengambilan keputusan. Cakupan arah trade-off yang lebih luas memerlukan ruang pencarian, ukuran populasi, dan jumlah evaluasi tujuan yang lebih besar, sehingga semakin kuat keragaman, semakin besar tantangan skala komputasi. Menggunakan model surrogate untuk menanggung sebagian besar evaluasi, mengkonsentrasikan anggaran fidelity tinggi yang terbatas untuk memperluas cakupan front, dapat meredakan ketegangan antara skala dan keragaman. Desain airfoil superkritis. Deliverable harus berupa sekumpulan solusi kandidat yang berada di Pareto front dan mencakup arah trade-off yang berbeda, bukan solusi tunggal
- Langkah-langkah untuk meredakan ketegangan termasuk model surrogate, alokasi anggaran prioritas, penyesuaian rasio populasi dan generasi, penyaringan bertahap multi-fidelity, dll.

**Pemeriksaan Pemahaman**

Minta siswa menjelaskan dengan kata-kata sendiri hubungan dominasi dan Pareto front, serta memberikan contoh mengapa keragaman menimbulkan tekanan komputasi. Jika siswa mencampuradukkan keragaman dengan gangguan acak, kembali ke "mantra pemeriksaan mandiri" — sebanyak apapun kandidat, jika menumpuk di sudut yang sama di front, tetap tidak ada keragaman.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat membedakan optimalitas titik tunggal dengan kumpulan solusi trade-off, dan memahami biaya keragaman, lanjutkan ke halaman berikutnya tentang evolusi paralel ter-tensorisasi.

<a id="lecture-page-4"></a>

### Hambatan Efisiensi Loop CPU Serial Tradisional

*Halaman 4*

> **Tujuan Halaman:** Pembelajar harus menyadari keterbatasan kinerja loop CPU serial tradisional dalam memproses puluhan ribu evaluasi kandidat.

**Poin Pengajaran**

- Total jumlah evaluasi ≈ ukuran populasi × jumlah generasi; waktu evaluasi serial ≈ total jumlah evaluasi × waktu evaluasi tunggal. Hitung kedua besaran ini terlebih dahulu, lalu nilai apakah hambatan layak untuk direkayasa ulang.
- Loop di lapisan interpreter, pemeriksaan batas per-individu dan pengiriman tipe, akses memori non-kontinu, sinkronisasi dan pemindahan data yang sering, akan terakumulasi menjadi overhead konstan serial. Hanya mengoptimalkan operator itu sendiri, hanya dapat memangkas sebagian kecil darinya.
- Gambarkan waktu wall clock pada berbagai ukuran populasi: yang mendekati garis lurus menunjukkan eksekusi masih serial, yang berbentuk tangga menunjukkan sudah diorganisir per batch. Bentuk kurva lebih dapat menjelaskan kepemilikan hambatan daripada angka satu titik.

> **Tujuan Halaman**
>
> Halaman ini ingin membuat siswa menyadari bahwa ketika evaluasi kandidat mencapai puluhan ribu kali, loop CPU serial tradisional akan menjadi segmen tersempit dalam seluruh pipeline evolusi; hambatan ini berada di tingkat model eksekusi, bukan pada cara penulisan operator tunggal atau cacat kode. Pemrosesan batch, tensorisasi, dan penjadwalan paralel selanjutnya, justru merupakan arah perbaikan untuk hambatan struktural ini.
>
> Urutan Penyampaian dan Poin Pengajaran:
>
> Evolusi bergantung pada keragaman, keragaman membawa pertumbuhan berlipat ganda dalam ukuran populasi dan jumlah evaluasi. Total jumlah evaluasi ≈ ukuran populasi × jumlah generasi; waktu evaluasi serial ≈ total jumlah evaluasi × waktu evaluasi tunggal. Ketika jumlah evaluasi mencapai orde 10⁵, waktu wall clock serial tumbuh hampir linear.
>
> Diagram membandingkan pemrosesan serial satu per satu dengan pemrosesan paralel batch. Sumbu horizontal adalah jumlah evaluasi kandidat 10³, 10⁴, 10⁵, sumbu vertikal adalah waktu wall clock ternormalisasi. Kurva serial tumbuh hampir linear; kurva paralel tumbuh secara bertahap. Segmen gelap menunjukkan overhead penjadwalan dan pemindahan data. Kesimpulan kunci: untuk beban kerja yang sama, pertumbuhan waktu paralel terutama ditentukan oleh jumlah batch, bukan jumlah individu. Menggunakan bentuk kurva lebih dapat menjelaskan kepemilikan hambatan daripada hanya melihat angka satu titik.
>
> Implementasi paling naif adalah memperlakukan seluruh populasi sebagai list, loop mengambil individu satu per satu → decode menjadi parameter konkret → panggil fungsi evaluasi → tulis kembali kebugaran. Antara iterasi yang berdekatan hampir tidak dapat tumpang tindih: hasil evaluasi tidak kembali, penulisan kembali tidak dapat maju; penulisan kembali tidak selesai, individu berikutnya tidak memiliki tempat untuk hasilnya. Akibatnya unit paralel seperti multi-core, SIMD, GPU sebagian besar waktu menganggur.
>
> Jumlah evaluasi yang mengembang linear; eksekusi per-individu di lapisan interpreter, termasuk loop per-individu, pemeriksaan batas dan pengiriman tipe, membawa overhead konstan yang tetap namun tinggi; akses memori non-kontinu dan pemindahan data, individu yang diambil satu per satu sering tidak kontinu di memori, tingkat cache hit rendah; sinkronisasi dan penjadwalan, untuk mengambil individu berikutnya, aliran eksekusi berulang kali berhenti dan melanjutkan. Hanya mengoptimalkan内部 operator, hanya dapat memangkas sebagian kecil darinya.
>
> Dengan populasi 1000, iterasi 100 generasi sebagai contoh, total jumlah evaluasi sekitar 1000 × 100 = 10⁵ kali. Jika satu evaluasi rata-rata 1 ms, hanya tahap evaluasi secara serial memerlukan sekitar 100 detik, belum termasuk komputasi operator dan overhead penjadwalan; jika untuk mempertahankan keragaman menambah jumlah restart dari 1 kali menjadi 5 kali, biayanya meningkat hampir linear menjadi sekitar 500 detik. Jika beban kerja yang sama diorganisir per batch dan ditangani oleh perangkat keras paralel, waktu wall clock terutama ditentukan oleh jumlah batch dan waktu per batch.
>
> Ketika satu evaluasi sangat murah (tingkat mikrodetik) atau populasi sangat kecil (di bawah urutan ratusan), overhead penjadwalan dan memori mungkin melebihi overhead komputasi, perbedaan antara serial dan paralel menyempit secara signifikan, manfaat marginal tensorisasi menurun, dan hambatan akan berpindah ke granularitas penjadwalan dan bandwidth memori. Oleh karena itu apakah layak merombak model eksekusi, harus dievaluasi bersama dengan biaya evaluasi dan skala.
>
> Hambatan efisiensi loop CPU serial bersifat struktural. Untuk benar-benar menyelesaikannya, perlu merombak dari per-individu menjadi per-batch, yaitu pemrosesan batch, tensorisasi, dan penjadwalan paralel, yang menjadi motivasi langsung untuk desain graf komputasi ter-tensorisasi selanjutnya.

**Cakupan Kata Kunci**

- Loop CPU serial, paralel batch, waktu wall clock, jumlah evaluasi kandidat, jumlah batch, overhead lapisan interpreter, akses memori non-kontinu, sinkronisasi dan penjadwalan, hambatan struktural, tensorisasi.

**Penanganan Latihan**

Halaman ini memiliki 5 soal pilihan ganda. Disarankan untuk setiap soal meminta siswa menyebutkan dasar penilaian terlebih dahulu, baru memberikan umpan balik.

Soal 1 menanyakan batasan model eksekusi utama dari loop serial. Jawabannya adalah "sulit untuk tumpang tindih antara iterasi yang berdekatan, unit paralel seperti multi-core, SIMD, GPU sebagian besar waktu menganggur". Poin umpan balik: alur eksekusi per-individu mengambil individu → decode → evaluasi → tulis kembali, membuat setiap individu menjadi langkah serial yang independen, perangkat keras kekurangan pekerjaan independen yang dapat dieksekusi secara simultan; hambatannya bukan tidak dapat menghitung kebugaran, melainkan hanya satu individu yang diproses pada satu waktu.

Soal 2 menanyakan dengan populasi 1000, iterasi 100 generasi, satu evaluasi 1 ms, waktu wall clock serial hanya untuk tahap evaluasi. Jawabannya sekitar 100 detik. Panduan algoritma: total jumlah evaluasi sekitar 1000 × 100 = 10⁵ kali, lalu dikalikan 1 ms.

Soal 3 menanyakan item mana yang bukan faktor yang memperbesar overhead konstan loop serial. Jawabannya adalah "penjadwalan pemrosesan batch ter-tensorisasi". Poin umpan balik: pemrosesan batch ter-tensorisasi adalah arah perbaikan untuk meredakan hambatan, bukan sumber loop serial yang memperbesar overheadnya sendiri; overhead serial berasal dari akses memori non-kontinu, pemeriksaan batas per-individu dan pengiriman tipe, loop lapisan interpreter, dll.

Soal 4 menanyakan dalam paralel batch, ketika menyelesaikan total beban kerja yang sama, waktu wall clock terutama ditentukan oleh apa. Jawabannya adalah "jumlah batch dan waktu per batch". Poin umpan balik: pemrosesan batch mengubah per-individu menjadi per-batch, waktu wall clock tumbuh secara bertahap seiring jumlah batch, dan tidak lagi tumbuh hampir linear seiring jumlah individu.

Soal 5 menanyakan dalam kondisi mana penilaian loop serial sebagai hambatan struktural paling mungkin tidak berlaku. Jawabannya adalah "satu evaluasi turun ke tingkat mikrodetik, dan ukuran populasi hanya urutan ratusan". Poin umpan balik: pada saat ini overhead penjadwalan dan memori mungkin melebihi overhead komputasi, perbedaan antara serial dan paralel menyempit; menilai hambatan harus dievaluasi bersama dengan biaya evaluasi dan skala.

**Kegiatan Kelas**

Dapat menggunakan kasus halaman ini "Pemilihan model eksekusi di bawah seratus ribu evaluasi". Minta siswa memperkirakan terlebih dahulu, lalu diskusikan batas perombakan.

Perkirakan waktu wall clock implementasi serial saat ini hanya untuk tahap evaluasi, dan jelaskan perubahan setelah jumlah restart meningkat dari 1 kali menjadi 5 kali, berdasarkan itu tentukan prioritas optimasi. Jawaban referensi: 1000 × 100 = 10⁵ kali evaluasi, dikalikan 1 ms sekitar 100 detik; restart 5 kali maka sekitar 5 × 10⁵ kali evaluasi, yaitu sekitar 500 detik, waktu wall clock mengembang hampir linear. Ini menunjukkan bahwa penyetelan konstan di dalam operator memiliki manfaat terbatas, prioritas optimasi harus ditempatkan pada tingkat model eksekusi, yaitu pemrosesan batch, tensorisasi, dan penjadwalan paralel, sehingga waktu wall clock ditentukan oleh jumlah batch bukan jumlah individu.

Jika beralih ke model eksekusi paralel batch, kondisi batas apa lagi yang perlu dipertimbangkan untuk menilai apakah perombakan layak. Jawaban referensi: pertama, biaya evaluasi dan skala, jika satu evaluasi turun ke tingkat mikrodetik, atau populasi menyusut di bawah urutan ratusan, overhead penjadwalan dan pemindahan memori mungkin melebihi overhead komputasi, manfaat paralel menurun; kedua, batasan jumlah batch dan ukuran batch, ukuran batch dibatasi oleh memori GPU, bandwidth memori, waktu komputasi per batch, batch yang terlalu besar akan menaikkan waktu per batch dan biaya sinkronisasi; ketiga, tata letak data dan akses memori, jika individu kandidat tidak dapat diorganisir menjadi tensor yang kontinu dan dapat divektorisasi, pemrosesan batch masih akan berkurang karena akses memori non-kontinu. Secara keseluruhan, hanya ketika jumlah evaluasi dan biaya evaluasi tunggal cukup besar, manfaat perombakan model eksekusi baru signifikan.

**Pemeriksaan Pemahaman**

Minta seorang siswa secara acak merangkum poin utama halaman ini dengan kata-kata sendiri, misalnya "mengapa loop serial adalah hambatan struktural" "setelah paralel, waktu wall clock ditentukan oleh apa". Jika siswa hanya bisa mengatakan "lambat", tanyakan dua dimensi: orde besaran dan jumlah batch. Dapat ditambahkan mantra perhitungan cepat: total jumlah evaluasi ≈ ukuran populasi × jumlah generasi; waktu evaluasi serial ≈ total jumlah evaluasi × waktu evaluasi tunggal. Ingatkan untuk tidak hanya fokus pada内部 operator, dan dapat menggunakan bentuk kurva untuk pemeriksaan mandiri: mendekati garis lurus menunjukkan eksekusi masih serial, berbentuk tangga menunjukkan sudah diorganisir per batch.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat mengatakan "serial adalah hambatan model eksekusi, setelah paralel diorganisir per batch waktu wall clock ditentukan oleh jumlah batch", lanjutkan ke konten desain graf komputasi ter-tensorisasi dan penjadwalan paralel selanjutnya.

**Dasar Materi**

Evolusi bergantung pada keragaman, dan keragaman berarti beban komputasi yang sangat besar. Loop CPU serial tradisional tidak efisien dalam memproses puluhan ribu evaluasi kandidat.

<a id="lecture-page-5"></a>

### Dari Daftar Kandidat ke Graf Komputasi Ter-Tensorisasi

*Halaman 5*

> **Tujuan Halaman:** Pembelajar harus menguasai transformasi inti dari representasi list ke graf komputasi ter-tensorisasi dalam proses evolusi.

> **Tujuan Halaman**
>
> Pembelajar harus menguasai transformasi inti dari representasi list ke graf komputasi ter-tensorisasi dalam proses evolusi, dan dapat menjelaskan mengapa evolusi memerlukan komputasi tensor batch, serta bagaimana tensorisasi mengubah cara ekspresi proses evolusi.

**Poin Pengajaran**

- Evolusi bergantung pada keragaman, memerlukan evaluasi puluhan ribu hingga jutaan solusi kandidat. Jika kandidat ditulis sebagai array objek biasa dan dievaluasi dengan loop per-item, sebagian besar waktu akan dihabiskan untuk penjadwalan per-item dan aliran kontrol bahasa host, bukan operasi numerik yang sebenarnya. Di sinilah akar penyebab ketidakefisienan loop CPU serial tradisional. Kumpulan kandidat, hasil evaluasi, dan status algoritma diorganisir secara terpadu sebagai tensor. Seluruh generasi kandidat ditulis sebagai tensor kandidat dengan bentuk [ukuran populasi, dimensi solusi]
- Satu kandidat bukan lagi objek independen, melainkan slice atau satu baris dalam tensor. Diagram halaman juga berkembang dalam urutan ini: daftar kandidat di kiri diproses per-item, tensor kandidat di tengah, graf komputasi di kanan secara berurutan adalah mutasi, evaluasi, seleksi, pembaruan status. Operasi seperti mutasi langsung bekerja pada seluruh populasi, satu panggilan menyelesaikan semua pembaruan kandidat
- Evaluasi ditulis sebagai evaluate(tensor_kandidat), satu kali mendapatkan hasil seluruh generasi, unit evaluasi berubah dari "buah" menjadi "batch". Seleksi dan pembaruan status bukan lagi hanya logika kontrol serial, melainkan node dalam graf, sehingga mendapatkan peluang optimasi kompilasi seperti fusi operator dan penjadwalan paralel. Logika algoritma, seperti distribusi mutasi dan tekanan seleksi, tidak ditulis ulang
- Yang ditulis ulang adalah cara ekspresi. Ini bukan sekadar memindahkan loop ke perangkat yang lebih cepat, melainkan mengorganisir data dan operator dengan tensor sebagai unit pemrosesan terkecil. Jika masih bersikeras "satu kandidat sama dengan satu objek independen", perangkat keras paralel yang lebih lebar pun hanya dapat diberi data secara serial. Lompatan kunci halaman ini dapat dicatat sebagai "dari daftar kandidat ke graf komputasi ter-tensorisasi"
- Melihat operator batch, pikirkan "seluruh populasi dihitung bersama".

**Cakupan Kata Kunci**

- Komputasi ter-tensorisasi, tensor kandidat, operator batch, evaluasi batch, graf komputasi, optimasi kompilasi, ukuran populasi, dimensi solusi.

**Penanganan Latihan**

Jawaban soal pilihan ganda 1 harus mengarah pada overhead tetap dari penjadwalan per-item dan aliran kontrol bahasa host, bukan kekurangan daya komputasi atau kekurangan keragaman. Saat umpan balik, tekankan semakin banyak kandidat, semakin tinggi proporsi overhead ini.

Satu solusi kandidat sesuai dengan satu slice dalam tensor kandidat, misalnya satu baris; ia tidak lagi terikat sebagai objek bahasa host independen.

Setelah seleksi dan pembaruan status masuk ke graf komputasi, dapat memperoleh peluang optimasi kompilasi seperti fusi operator dan penjadwalan paralel, mengurangi tensor antara dan overhead sinkronisasi.

Output evaluasi paling mungkin adalah [ukuran populasi] atau [ukuran populasi, jumlah tujuan]; evaluasi menghasilkan satu atau sekelompok metrik untuk setiap kandidat di sepanjang dimensi populasi.

EvoX pada tingkat ekspresi mengubah pemrosesan daftar per-kandidat menjadi graf komputasi batch dengan tensor sebagai warga kelas satu.

50000 pencarian airfoil kandidat. Hambatan implementasi asli terutama di lapisan organisasi data dan penjadwalan: akses objek per-kandidat, pemanggilan fungsi per-item, perbandingan per-kali dan pembaruan status manual, serta hanya memproses satu kandidat pada satu waktu, tidak dapat mengisi lebar paralel perangkat keras. Perombakan tensorisasi tidak mengubah tekanan seleksi dan distribusi mutasi, melainkan menyatukan kandidat, hasil evaluasi, dan status algoritma sebagai tensor, sehingga mutasi dan evaluasi bekerja pada seluruh populasi sekaligus. Jika ingin seleksi dan pembaruan status juga mendapatkan optimasi kompilasi, tensor kandidat harus ditetapkan sebagai [50000, 48]; output evaluasi adalah [50000] atau [50000, jumlah tujuan]; mutasi berlaku pada seluruh tensor kandidat; seleksi menggunakan indeks tensor atau mask;

pembaruan status ditulis sebagai node reduksi di sepanjang dimensi populasi, seperti mengambil nilai minimum atau rata-rata.

**Pemeriksaan Pemahaman**

Apa bentuk tensor kandidat? Apa bentuk output satu kali evaluasi? Dua tahap mana yang berubah dari logika kontrol serial menjadi node graf komputasi? Jika ketiganya dapat dijawab, berarti sudah menguasai lompatan kunci halaman ini.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat menjelaskan dengan kata-kata sendiri perubahan "dari daftar kandidat ke graf komputasi ter-tensorisasi", lanjutkan ke halaman berikutnya untuk aplikasi, contoh soal, atau ringkasan.

<a id="lecture-page-6"></a>

### Organisasi Ter-Tensorisasi Populasi, Evaluasi, dan Status

*Halaman 6*

> **Tujuan Halaman:** Pembelajar harus memahami bagaimana memetakan data populasi, evaluasi kebugaran, dan variabel status secara terpadu ke struktur tensor.

> **Tujuan Halaman**
>
> Memahami bagaimana memetakan data populasi, evaluasi kebugaran, dan status operasi algoritma secara terpadu ke struktur tensor, membentuk kontrak data terpadu yang dapat dihitung secara batch, dapat berada di perangkat, dan dapat direproduksi.

> **Urutan Penyampaian**
>
> Mulai dengan tiga pertanyaan — apa itu populasi, bagaimana evaluasinya, sudah sampai langkah mana; lalu sesuaikan dengan tiga jenis容器 — tensor populasi [N, D], matriks evaluasi dan kendala [N, M] dan [N, K], container status terpadu; terakhir jelaskan bagaimana evaluasi batch dan status residen mengubah loop per-individu menjadi operasi seluruh batch.

**Poin Pengajaran**

- Organisir N solusi kandidat sebagai tensor encoding [N, D]. N adalah dimensi batch, D adalah dimensi fitur, biasanya N ditempatkan di lapisan terluar, sehingga operator yang sama dapat bekerja pada seluruh batch sekaligus. Jika individu terdiri dari beberapa segmen parameter, dapat dipecah menjadi blok field [N, D1] + [N, D2] + …
- Individu dengan panjang variabel ditangani dengan padding plus mask atau bucketing, menghindari struktur heterogen merusak komputasi seluruh batch. Satu evaluasi batch menghasilkan matriks kebugaran [N, M]
- Multi-tujuan, multi-kendala, dan metrik tambahan dapat disusun sejajar sebagai [N, M+K] atau disimpan dalam tabel terpisah, yang penting adalah menghindari pemanggilan fungsi evaluasi dalam loop per-individu. Generasi, status angka acak, hyperparameter strategi, solusi terbaik, cache historis, peringkat atau status sampling juga masuk ke tensor atau container status terstruktur, menjamin reproduktifitas, keterlacakan, dan pembaruan batch. Tensor terpadu dapat mengurangi perjalanan bolak-balik antara host dan perangkat, mengurangi overhead loop, dan menyediakan dasar data untuk paralelisasi operator selanjutnya
- Namun perlu memperhatikan validitas mask, pemborosan padding, pertumbuhan jumlah multi-tujuan yang menyebabkan matriks evaluasi melebar, serta biaya sinkronisasi status.

> **Petunjuk Materi**
>
> - Diagram tata letak memori menempatkan tensor populasi, matriks evaluasi, matriks kendala, dan container status terpadu di bawah semantik memori perangkat yang sama. Dapat mengingatkan pembelajar untuk memperhatikan panah "evaluasi batch" yang menunjukkan satu panggilan memproses seluruh batch, bukan memanggil per-individu. Ketika N=1024, D=50, M=2, populasi adalah [1024, 50], nilai evaluasi adalah [1024, 2], kendala adalah [1024, K]. generation dapat disimpan sebagai skalar, best_x dapat disimpan sebagai tensor satu dimensi [D], rng_state dapat direpresentasikan dengan tensor integer dengan panjang yang sesuai. Setiap pembaruan generasi dapat diselesaikan secara keseluruhan pada dimensi batch yang sama.

**Penanganan Latihan**

Pemahaman inti adalah "populasi, evaluasi, dan status dipetakan secara terpadu ke struktur tensor". Jika memilih dengan benar, berarti pemahaman tersebut konsisten dengan garis utama halaman ini; jika salah, silakan kembali ke awal halaman untuk meninjau kontrak data terpadu.

Pernyataan yang wajar harus menekankan bahwa evaluasi batch menghasilkan [N, M] dan [N, K], bukan loop per-individu. Saat menilai, cukup dapat menghubungkan bentuk matriks dan dasar evaluasi batch.

Pernyataan yang wajar harus menjelaskan bahwa generasi, status angka acak, solusi terbaik, dll. juga dimasukkan ke container status terpadu, memudahkan checkpoint dan reproduksi. Jika jawaban hanya berhenti pada "memasukkan data ke tensor", ingatkan untuk juga memperhatikan manajemen status dan reproduksi.

Untuk skenario N=2048, D=100, M=3, K=5, disarankan populasi [2048, 100], evaluasi [2048, 3], kendala [2048, 5]; variabel status seperti generation menggunakan tensor skalar, best_x menggunakan [100], rng_state menggunakan tensor integer, cache historis dapat menggunakan [T, 2048, 100] atau penyimpanan terkompresi. Saat evaluasi batch, vektorisasi fungsi evaluasi, sehingga menerima [N, D] dan mengembalikan [N, M] dan [N, K]; individu dengan panjang variabel menggunakan padding plus mask atau bucketing, setelah komputasi abaikan bagian yang tidak valid berdasarkan mask.

**Pemeriksaan Pemahaman**

Minta seorang pembelajar menjelaskan dalam satu kalimat mengapa N harus menjadi dimensi batch terluar, dan menyebutkan setidaknya satu variabel status mengapa harus di-tensorisasi. Jika jawaban berhenti pada "memasukkan data ke tensor", tambahkan: kuncinya adalah kontrak data terpadu dan eksekusi operator seluruh batch.

> **Petunjuk Transisi**
>
> Setelah memastikan pembelajar dapat membedakan empat jenis container: populasi, evaluasi, kendala, dan status, lanjutkan ke halaman berikutnya untuk contoh soal, aplikasi, atau ringkasan.

<a id="lecture-page-7"></a>

### Paralelisasi Operator dan Optimasi Kompilasi

*Halaman 7*

> **Tujuan Halaman:** Pembelajar harus memahami mekanisme optimasi kompilasi tingkat rendah ketika operasi seperti mutasi dan persilangan bekerja pada seluruh populasi.

> **Tujuan Halaman**
>
> Memahami bahwa dalam basis komputasi modern EvoX, unit eksekusi terkecil operator evolusi berubah dari "individu" menjadi "tensor populasi"; menguasai bagaimana operator ter-tensorisasi dan kompilasi graf komputasi meningkatkan throughput evolusi batch, sambil mempertahankan semantik algoritma yang tidak berubah.

> **Urutan Penyampaian**
>
> Pertama bangun penilaian "operator bekerja pada siapa", lalu bandingkan perbedaan eksekusi antara loop per-individu dan operator tingkat tensor, kemudian jelaskan cara optimasi kompilasi graf komputasi dari urutan operator ke rencana eksekusi, terakhir gunakan kasus dan latihan untuk memperkuat prinsip "efisiensi berubah, semantik tidak berubah".

**Poin Pengajaran**

- 1. Bentuk tensor populasi adalah [N, D], N adalah ukuran populasi, D adalah dimensi variabel keputusan. Operator seperti mutasi, persilangan, seleksi dapat langsung bekerja pada seluruh tensor populasi, satu panggilan mencakup semua N individu
- Dimensi individu berperan sebagai dimensi batch, perangkat dapat mengeksekusi secara paralel skala besar, throughput meningkat seiring ukuran populasi. 2. Penulisan per-individu seperti for ind in population: ind = mutate(ind) akan memecah setiap operator menjadi N panggilan kecil, membawa penjadwalan framework dan peluncuran kernel yang sering
- Setiap batch hanya 1, unit paralel perangkat sulit terisi, pembuatan dan pelepasan hasil antara yang berulang juga menambah overhead alokasi memori GPU dan pemindahan data. Kunci perombakan adalah population = mutate(population_tensor), membuat operator dieksekusi dengan unit tensor populasi. 3. Kompilasi graf komputasi mengorganisir "mutasi → persilangan → seleksi" menjadi graf komputasi, melakukan optimasi global pada seluruh graf: fusi operator dapat menggabungkan beberapa operasi per-elemen menjadi lebih sedikit kernel, mengurangi tensor antara dan baca-tulis
- Pembuatan kernel dan penjadwalan menggunakan lebih sedikit peluncuran kernel untuk menyelesaikan evolusi seluruh generasi
- Penggunaan ulang memori merencanakan buffer untuk hasil antara terlebih dahulu, mengurangi biaya alokasi dan pemindahan. Optimasi hanya mengubah "bagaimana menghitung", tidak mengubah "apa yang dihitung". Jumlah kernel, skala tensor antara, strategi memori dan penjadwalan dapat berubah, tetapi makna logis mutasi, persilangan, seleksi, urutan kombinasi operator, dan cara penggunaan angka acak harus tetap konsisten
- Dengan seed acak yang sama, lintasan per generasi dan hasil sebelum dan sesudah optimasi harus konsisten. Menyamakan tensorisasi dengan mengganti algoritma evolusi, atau menganggap optimasi kompilasi akan membuat algoritma "lebih pintar". Tensorisasi hanya menerapkan operator yang sama ke seluruh tensor populasi
- Optimasi kompilasi juga hanya berada di lapisan eksekusi. Jika setelah optimasi tidak melakukan verifikasi regresi, mudah salah menganggap perbedaan implementasi sebagai peningkatan algoritma.

> **Petunjuk Materi**
>
> - Di kiri diagram adalah tensor populasi [N, D] dan semua individu, di tengah adalah graf komputasi operator evolusi "mutasi → persilangan → seleksi", di kanan membandingkan sebelum kompilasi "loop per-individu, beberapa peluncuran kernel, dimensi batch 1" dan setelah kompilasi "graf komputasi terfusi, sedikit kernel GPU efisien, satu forward batch menyelesaikan evolusi seluruh generasi". Alur ini dapat digunakan untuk membantu siswa menghubungkan tensorisasi dengan optimasi kompilasi.

**Penanganan Latihan**

Latihan halaman ini berpusat pada granularitas eksekusi dan pemeliharaan semantik.

Operator mutasi dalam satu panggilan biasanya bekerja pada seluruh tensor populasi [N, D]; bukan vektor nilai fungsi tujuan, juga bukan vektor keputusan individu tunggal.

Loop Python/CPU per-individu lambat, karena sejumlah besar panggilan skala kecil membawa overhead penjadwalan dan framework, dan dimensi batch adalah 1, pemanfaatan perangkat rendah.

Manfaat utama fusi operator adalah menggabungkan beberapa operasi per-elemen menjadi lebih sedikit kernel, mengurangi tensor antara dan jumlah peluncuran kernel; ia tidak mengubah distribusi probabilitas atau makna operator.

Hanya mengubah cara eksekusi, tidak mengubah makna logis dan urutan kombinasi mutasi, persilangan, seleksi.

Perombakan population[i] = mutate(ind), harus diubah menjadi population = mutate(population_tensor), dan menyerahkan urutan operator ke optimasi kompilasi graf komputasi; memperkecil N, mengganti sintaks loop, atau hanya menggunakan multi-threading CPU semuanya tidak menyelesaikan masalah granularitas eksekusi.

Dengan contoh strategi evolusi ukuran populasi N = 4096, dimensi D = 128, implementasi awal memiliki pemanfaatan perangkat di bawah 30%, waktu per generasi tumbuh hampir linear seiring N, penggunaan memori GPU tinggi. Diagnosis harus jatuh pada granularitas eksekusi: loop per-individu memperbesar overhead tetap N kali, dimensi batch merosot menjadi 1, unit paralel tidak terisi, hasil antara berulang kali dibuat dan dilepaskan. Perombakan dibagi tiga langkah: langkah pertama operator ter-tensorisasi, membuat mutasi, persilangan, seleksi langsung bekerja pada tensor [N, D]; langkah kedua mengaktifkan kompilasi graf komputasi, melakukan fusi operator, pembuatan kernel, penggunaan ulang memori dan optimasi penjadwalan; langkah ketiga memperbaiki seed acak untuk verifikasi regresi, membandingkan kurva kebugaran terbaik per generasi dan statistik populasi sebelum dan sesudah optimasi.

Jika kurva pada dasarnya berimpit, berarti hanya cara eksekusi yang berubah; jika bercabang, periksa terlebih dahulu apakah urutan operator, jumlah penggunaan angka acak, atau aturan seleksi berubah.

**Pemeriksaan Pemahaman**

Operator evolusi harus bekerja pada individu tunggal atau seluruh tensor populasi? Apa rantai ekivalensi dari fusi operator ke pemanfaatan perangkat? Bagaimana memverifikasi bahwa optimasi tidak mengubah semantik algoritma? Jawaban yang diharapkan: bekerja pada tensor populasi [N, D]; semakin banyak fusi, semakin sedikit peluncuran kernel, semakin sedikit baca-tulis tensor antara, semakin tinggi pemanfaatan perangkat; gunakan seed acak yang sama untuk membandingkan kurva kebugaran terbaik per generasi dan statistik populasi sebelum dan sesudah optimasi.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat membedakan tensorisasi dengan kompilasi graf komputasi, dan dapat menggunakan regresi seed yang sama untuk memverifikasi semantik yang tidak berubah, lanjutkan ke halaman berikutnya untuk contoh soal, aplikasi, atau ringkasan.

<a id="lecture-page-8"></a>

### Desain Arsitektur Basis Terbuka dan Terdekopel

*Halaman 8*

> **Tujuan Halaman:** Pembelajar harus memahami prinsip desain dekopel dan pembagian komponen inti arsitektur basis EvoX.

> **Tujuan Halaman**
>
> Memahami prinsip desain basis terbuka dan terdekopel EvoX serta pembagian tanggung jawab lima modul inti, dapat menggunakan "batas modul" untuk menentukan titik pendaratan kebutuhan.

> **Urutan Penyampaian**
>
> Pertama berikan penilaian inti — peneliti tidak boleh menghabiskan waktu pada komunikasi paralel, alokasi perangkat, dan toleransi kesalahan terdistribusi; lalu perkenalkan lima modul tingkat pertama, terakhir gunakan diagram arsitektur untuk menjelaskan hubungan berlapis antara logika evolusi lapisan atas dan penjadwalan terpadu lapisan bawah.

**Poin Pengajaran**

- Modul algoritma mendefinisikan "bagaimana berevolusi"
- Modul masalah menyediakan antarmuka evaluasi terpadu
- Alur kerja mengorganisir evolusi berdasarkan tahap
- Modul pemantauan mengamati proses evolusi
- Runtime scheduler sebagai lapisan eksekusi terpadu, menjawab "di mana menghitung, bagaimana menghitung agar berjalan". Dapat diingat mantra: "logika evolusi di atas, penjadwalan daya komputasi di bawah", urutannya adalah algoritma → modul masalah → alur kerja → modul pemantauan → Runtime scheduler. Modul algoritma hanya mendeskripsikan logika pencarian seperti seleksi, persilangan, mutasi, pembaruan, tidak terikat pada masalah spesifik, juga tidak mengetahui tensor berada di kartu mana
- Modul masalah mengemas simulasi, fungsi tujuan, atau lingkungan menjadi antarmuka evaluasi terpadu
- Alur kerja menentukan urutan tahap inisialisasi, iterasi evolusi, penentuan konvergensi, dll.
- Modul pemantauan mengumpulkan metrik, mencatat status populasi dan kurva konvergensi
- Runtime scheduler menyembunyikan perbedaan GPU, perangkat akselerasi, klaster terdistribusi, mengambil alih detail komputasi batch, paralel, dan komunikasi. Algoritma dan masalah saling independen, masalah dan daya komputasi saling independen. Saat menambahkan operator mutasi, hanya perlu mengubah modul algoritma
- Modul masalah terus menyediakan antarmuka evaluasi terpadu, alur kerja dan modul pemantauan mempertahankan cara organisasi asli, Runtime scheduler secara otomatis menyelesaikan komputasi tensor batch dan alokasi perangkat, kode eksekusi lapisan bawah tidak perlu diubah. Oleh karena itu basis yang sama dapat menampung skenario seperti pembelajaran penguatan, pemrograman genetik, dan optimasi kombinatorial, menghindari pembangunan ulang fasilitas rekayasa paralel, penjadwalan, dan terdistribusi. Dekopel tidak berarti kinerja pasti melambat. Yang benar-benar mempengaruhi kinerja adalah cara Runtime scheduler menangani komputasi batch dan pemanfaatan perangkat, bukan jumlah modul. Untuk menilai apakah pelapisan efisien, harus membandingkan waktu end-to-end, pemanfaatan perangkat, dan proporsi komunikasi
- Jika overhead penjadwalan meningkat, harus mengoptimalkan strategi komputasi batch dan pemanfaatan perangkat Runtime scheduler, bukan menulis kembali kode paralel ke modul algoritma. Gunakan "perlu diubah atau tidak" untuk memeriksa dekopel. Mengganti perangkat keras atau skala klaster hanya boleh mengubah Runtime scheduler
- Mengganti masalah hanya boleh mengubah modul masalah
- Mengganti operator hanya boleh mengubah modul algoritma. Jika perubahan kecil mempengaruhi tiga lapisan atau lebih, berarti implementasi sudah terlalu terkoppel. Dekopel menghemat rekayasa berulang, bukan waktu komputasi, masih perlu eksperimen benchmark untuk memverifikasi apakah overhead penjadwalan dapat diterima.

**Penanganan Latihan**

Pengecualian lima modul inti (jawabannya adalah "pencari hyperparameter", yang merupakan konfigurasi eksperimen atau strategi algoritma, bukan modul tingkat pertama basis); manifestasi akurat high cohesion low coupling (jawabannya adalah logika internal modul algoritma koheren dan tidak terikat pada masalah spesifik, modul masalah juga tidak mengetahui daya komputasi lapisan bawah); tanggung jawab inti Runtime scheduler (jawabannya adalah menyembunyikan perbedaan GPU, perangkat akselerasi, dan klaster terdistribusi serta menjadwalkan eksekusi secara terpadu); cakupan perubahan saat menambahkan operator mutasi (jawabannya adalah hanya perlu mengimplementasikan logika baru di modul algoritma, masalah, alur kerja, pemantauan, dan Runtime scheduler tetap tidak berubah); makna paling langsung dari akses terbuka terpadu (jawabannya adalah setiap domain menggunakan kembali infrastruktur rekayasa yang sama).

Saat umpan balik, minta siswa kembali ke "batas tanggung jawab lima modul" untuk mencari bukti, lalu jelaskan mengapa pilihan lain akan merusak batas atau mencampuradukkan tanggung jawab.

Dalam perluasan klaster GPU multi-node, modul algoritma, modul masalah, alur kerja, modul pemantauan harus tetap tidak berubah, karena tanggung jawabnya tidak terkait dengan bentuk daya komputasi; yang perlu diubah atau dikonfigurasi ulang adalah Runtime scheduler. Jika berdebat antara "menulis alokasi perangkat dan komunikasi secara manual di dalam operator" atau "sepenuhnya bergantung pada Runtime scheduler", kunci evaluasi adalah di lapisan mana perubahan terjadi: alokasi perangkat dan komunikasi termasuk lapisan eksekusi, menulisnya ke dalam operator akan mengkopel detail daya komputasi ke modul algoritma. Rencana verifikasi adalah membandingkan waktu end-to-end, pemanfaatan perangkat, proporsi overhead komunikasi antara penjadwalan Runtime murni dan penjadwalan manual pada masalah optimasi kombinatorial yang sama, dan mencatat biaya saat migrasi ke jenis perangkat keras lain atau tugas pembelajaran penguatan;

hanya ketika manfaat signifikan yang dapat direproduksi dapat mengkompensasi biaya kopling dan migrasi, baru pertimbangkan penurunan lokal.

**Pemeriksaan Pemahaman**

Minta siswa menceritakan kembali dengan kata-kata sendiri lima modul dan pertanyaan yang masing-masing jawab, dan memilih satu kebutuhan untuk menilai lapisan mana yang harus diubah. Petunjuk transisi: setelah memastikan siswa dapat membedakan "logika evolusi" dan "penjadwalan daya komputasi", lanjutkan ke detail implementasi evolusi paralel ter-tensorisasi selanjutnya.

<a id="lecture-page-9"></a>

### Pembagian Modul Algoritma dan Masalah

*Halaman 9*

> **Tujuan Halaman:** Pembelajar harus memahami tanggung jawab dan cara interaksi modul algoritma dan modul masalah dalam arsitektur basis.

> **Tujuan Halaman**
>
> Memahami batas tanggung jawab, kontrak antarmuka modul algoritma dan modul masalah dalam basis terbuka dan terdekopel EvoX, serta makna pembagian ini untuk masalah multi-tujuan, dengan kendala, dan umpan balik mahal.

> **Urutan Penyampaian**
>
> Pertama gunakan satu kalimat untuk menambatkan pembagian kerja — modul algoritma menjawab "bagaimana mencari", modul masalah menjawab "apa yang dievaluasi, bagaimana lingkungan memberikan umpan balik". Lalu kembangkan input dan output keduanya, terakhir jatuh pada perluasan independen, komposabilitas, dan portabilitas yang dibawa oleh stabilitas kontrak antarmuka.

**Poin Pengajaran**

- 1. Modul algoritma mengemas strategi pencarian dan mekanisme evolusi. Ia bertanggung jawab atas generasi solusi kandidat, inisialisasi populasi, mutasi, persilangan, seleksi, retensi elit, serta kontrol pencarian seperti jumlah iterasi, ukuran populasi, restart dan kriteria konvergensi, penjadwalan parameter operator. Poin kuncinya adalah ia hanya bergantung pada premis abstrak "solusi kandidat akan dievaluasi", tidak peduli dengan makna fisik dan bentuk konkret fungsi tujuan. 2. Modul masalah mendefinisikan standar evaluasi dan umpan balik lingkungan. Ia mengubah solusi kandidat menjadi umpan balik yang dapat dibandingkan, seperti nilai tujuan, kebugaran, jumlah pelanggaran kendala, atau hasil interaksi lingkungan satu kali
- Pada saat yang sama mendeklarasikan dimensi variabel, rentang nilai, dan aturan domain kelayakan, sehingga algoritma tahu di mana menghasilkan solusi kandidat. Modul masalah memberikan evaluasi yang konsisten untuk batch solusi kandidat yang sama, sehingga individu yang berbeda, generasi yang berbeda, bahkan algoritma yang berbeda dapat dibandingkan secara horizontal. Modul algoritma mengirimkan batch solusi kandidat, modul masalah mengembalikan hasil evaluasi terstruktur (vektor tujuan, jumlah pelanggaran kendala, dan informasi diagnostik opsional), modul algoritma berdasarkan itu memperbarui populasi dan melanjutkan ke generasi berikutnya. Satu siklus "kirim—kembali" adalah satu generasi evolusi. Arah yang benar sangat penting: sisi algoritma mengirimkan solusi kandidat yang akan dievaluasi, sisi masalah mengembalikan hasil evaluasi. Perluasan independen — menambahkan atau mengganti algoritma tidak mempengaruhi definisi masalah, memodifikasi atau menambahkan masalah juga tidak perlu menulis ulang modul algoritma
- Komposabilitas — modul masalah yang sama dapat dihubungkan ke algoritma evolusi yang berbeda, modul algoritma yang sama dapat beralih ke modul masalah yang berbeda
- Portabilitas — selama kontrak stabil, kedua sisi dapat digunakan kembali, diganti, dan dipindahkan lintas tugas. Masalah rekayasa nyata seperti desain airfoil superkritis sering kali secara simultan memiliki beberapa tujuan yang saling membatasi, kendala yang saling bersarang, serta umpan balik yang mahal dan jarang. Modul masalah mengonversi multi-tujuan dan kendala secara terpadu menjadi hasil evaluasi yang dapat dibandingkan, bila perlu menggunakan model surrogate untuk mengurangi biaya
- Modul algoritma memelihara sekumpulan solusi kandidat yang beragam, mendukung pakar untuk membuat trade-off preferensi antara gaya angkat, hambatan, dan margin keamanan. Oleh karena itu kontrak tidak boleh hanya membawa kebugaran skalar tunggal, tetapi juga harus membawa vektor tujuan dan jumlah pelanggaran kendala, jika tidak informasi multi-tujuan dan kendala akan hilang secara permanen di antarmuka.

**Cakupan Kata Kunci**

- Modul algoritma, modul masalah, batch solusi kandidat, hasil evaluasi, vektor tujuan, jumlah pelanggaran kendala, kontrak antarmuka, perluasan independen, komposabilitas, portabilitas, model surrogate. Menulis fungsi tujuan, penanganan kendala, atau aturan heuristik spesifik masalah ke dalam modul algoritma, atau mengimplementasikan seleksi dan pembaruan populasi di modul masalah, akan mengkopel ulang kedua sisi. Pertanyaan pemeriksaan mandiri adalah: "Jika hanya mengubah model fisik, apakah saya hanya perlu mengganti modul masalah?" Jawabannya harus afirmatif. Antarmuka harus "sempit dan lengkap": sempit berarti field sedikit dan stabil, hanya mengirimkan dua jenis informasi: batch solusi kandidat dan hasil evaluasi
- lengkap berarti informasi kunci tidak boleh cacat, vektor tujuan, jumlah pelanggaran kendala, dimensi variabel dan batas harus dipertahankan. Hanya mengembalikan kebugaran skalar tunggal adalah cacat desain yang paling sulit diperbaiki di kemudian hari.

> **Petunjuk Latihan**
>
> - Lima soal pilihan ganda masing-masing memverifikasi — siapa yang bertanggung jawab mencari, tanggung jawab inti modul masalah, arah aliran data kontrak, perluasan independen setelah dekopel, konsekuensi kebugaran skalar tunggal. Jawaban yang benar secara berurutan mengarah pada: modul algoritma menghasilkan solusi kandidat dan memperbarui populasi
> - modul masalah mengubah solusi kandidat menjadi nilai tujuan, jumlah pelanggaran kendala, atau hasil interaksi lingkungan
> - modul algoritma menghasilkan batch solusi kandidat, modul masalah mengembalikan hasil evaluasi
> - selama kontrak tidak berubah, saat mengganti salah satu sisi sisi lain tidak perlu ditulis ulang
> - membuang informasi kendala akan membuat algoritma tidak dapat memperoleh umpan balik kendala, masalah dengan kendala sulit ditangani dengan benar. Saat umpan balik, jika siswa menjawab benar, minta mereka menjelaskan dasar
> - jika salah, arahkan kembali ke "siapa yang mencari, siapa yang mengevaluasi" dan "apakah kontrak lengkap" untuk menilai ulang. Ketika optimasi aerodinamika airfoil dimigrasikan ke pengurangan berat struktur sayap, mengganti algoritma evolusi tidak perlu menulis ulang modul masalah, karena modul masalah hanya berjanji ke luar "input batch solusi kandidat, output hasil evaluasi", tidak terkait dengan mekanisme seleksi, pembaruan, atau pengurutan internal algoritma. Saat menggunakan kembali algoritma yang sama untuk minimalisasi berat struktur, modul masalah setidaknya mengembalikan tiga jenis informasi: nilai tujuan (berat struktur, jika ada indikator kekakuan maka vektor tujuan), jumlah pelanggaran kendala (tingkat pelanggaran kendala kekakuan dan kelayakan geometris), dimensi variabel dan rentang nilai ruang pencarian. Ketiganya tidak dapat dihilangkan, karena algoritma hanya bertanggung jawab mencari, memerlukan nilai tujuan untuk menilai baik buruk, memerlukan jumlah pelanggaran kendala untuk membedakan layak dan tidak layak, memerlukan batas yang konsisten untuk menghasilkan solusi kandidat yang sah.

**Kegiatan Kelas**

Minta siswa menggunakan jangkar memori untuk menceritakan kembali — modul algoritma = bagaimana mencari (generasi, mutasi, persilangan, seleksi, kontrol iterasi); modul masalah = apa yang dievaluasi (nilai tujuan, jumlah pelanggaran kendala, umpan balik lingkungan). Kemudian minta seorang siswa menjawab: "Jika hanya mengubah model fisik, sisi mana yang harus diganti?"

**Pemeriksaan Pemahaman**

Minta seorang siswa secara acak menjelaskan dengan kata-kata sendiri aliran data "batch solusi kandidat ⇄ hasil evaluasi", dan menjelaskan mengapa hanya mengembalikan kebugaran skalar tunggal akan merusak penanganan masalah dengan kendala.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat membedakan pencarian dan evaluasi, serta dapat menjelaskan bahwa kontrak harus "sempit dan lengkap", lanjutkan ke halaman berikutnya untuk contoh soal, aplikasi, atau ringkasan.

<a id="lecture-page-10"></a>

### Manajemen Modul Alur Kerja dan Pemantauan

*Halaman 10*

> **Tujuan Halaman:** Pembelajar harus memahami peran modul kontrol alur kerja dan pemantauan dalam manajemen proses evolusi.

> **Tujuan Halaman**
>
> Setelah mempelajari halaman ini, pembelajar harus dapat membedakan tanggung jawab modul alur kerja dan modul pemantauan, dan menjelaskan bagaimana keduanya mengubah siklus evolusi dari "kotak hitam yang tidak diketahui" menjadi proses terkendali yang dapat diobservasi, dapat dinilai, dapat diintervensi, dan dapat direproduksi.

> **Urutan Penyampaian**
>
> Pertama gunakan satu kalimat untuk membangun pembagian kerja — alur kerja menjawab "berjalan dalam urutan apa", pemantauan menjawab "sekarang sudah sampai mana, baik atau tidak, perlu diubah atau tidak". Lalu kembangkan urutan alur kerja, edge kembali, dan batas tahap, kemudian jelaskan bagaimana pemantauan mengumpulkan status, mengekspos metrik, dan mendorong keputusan. Terakhir tutup dengan tiga batas tanggung jawab dan biaya observabilitas, dan gunakan contoh evolusi ter-tensorisasi GPU untuk menyatukan seluruh logika.

**Poin Pengajaran**

- 1. Modul alur kerja mengatur langkah dan dependensi, bukan logika algoritma itu sendiri. Ia mendefinisikan urutan "inisialisasi → evaluasi (batch) → seleksi → mutasi/persilangan → pembaruan status → penentuan terminasi", edge kembali, dan batas tahap, serta menghubungkan modul algoritma dan modul masalah melalui antarmuka terpadu. Kunci pengaturan terletak pada granularitas dan batas: memperlakukan "satu evaluasi batch" sebagai tahap yang dapat dijadwalkan secara keseluruhan, bukan maju per-individu
- Batas tahap sekaligus menjadi titik sampling pemantauan dan titik peralihan penjadwalan. 2. Modul pemantauan adalah lapisan pengumpulan dan eksposur status operasi, terus melacak metrik seperti ukuran populasi, jumlah evaluasi, distribusi kebugaran, konvergensi dan keragaman, waktu per generasi, memori GPU dan throughput. Tetapi tujuan observasi bukan mencatat, melainkan mengambil keputusan: metrik digunakan untuk memicu terminasi, early stopping, restart, peralihan parameter atau strategi, sehingga membentuk loop tertutup "pemantauan → penilaian → intervensi". 3. Kontrolabilitas juga memerlukan status yang dapat diserialisasi. Penyimpanan dan pemulihan checkpoint memungkinkan evolusi jangka panjang dapat diinterupsi dan dilanjutkan, kegagalan dapat dilokalisasi, eksperimen dapat direproduksi. Pada saat yang sama, dekopel mengharuskan pemantauan dipasang melalui callback atau hook, tidak menginvasi modul algoritma dan masalah, sehingga backend pemantauan yang berbeda seperti konsol, log, panel kurva dapat dipertukarkan, tanpa mengubah algoritma inti. Alur kerja mengatur "urutan dan tahap", pemantauan mengatur "status dan metrik", penjadwal runtime mengatur "sumber daya dan pemetaan paralel". Kesalahan umum adalah memasukkan pemetaan sumber daya atau logika algoritma ke dalam alur kerja, atau memasukkan kontrol urutan ke dalam pemantauan, yang menyebabkan kopling dan tidak dapat direproduksi. Observabilitas juga memiliki biaya: sampling frekuensi tinggi dan pengiriman balik sinkron mungkin mengganggu pipeline paralel, sehingga frekuensi sampling, cara agregasi metrik, dan strategi penulisan asinkron perlu di-trade-off sesuai tujuan eksperimen. Alur kerja menjadwalkan "evaluasi batch" sebagai satu tahap secara keseluruhan
- Modul pemantauan mencatat kebugaran terbaik dan rata-rata, keragaman populasi, dan waktu per generasi per generasi dalam tahap yang sama
- Ketika metrik stagnan selama N generasi berturut-turut, memicu penentuan terminasi atau beralih ke strategi dengan gangguan yang lebih besar, dan menulis checkpoint secara sinkron, sehingga evolusi ini dapat direproduksi dan juga dapat dilanjutkan dari titik interupsi.

**Cakupan Kata Kunci**

- Modul alur kerja, modul pemantauan, langkah dan dependensi, batas tahap, edge kembali, evaluasi batch, observabilitas, pemantauan→penilaian→intervensi, checkpoint, callback/hook, batas tanggung jawab, biaya sampling.

> **Petunjuk Latihan**
>
> - Latihan halaman ini berpusat pada lima penilaian. Objek pengaturan langsung alur kerja adalah langkah dan dependensi, bukan formula operator, pemetaan memori GPU, atau encoding fungsi tujuan
> - Memperlakukan evaluasi batch sebagai tahap secara keseluruhan, karena granularitas dan batas lebih sesuai, batas tahap sekaligus menanggung sampling pemantauan dan peralihan penjadwalan
> - Tujuan mendasar pemantauan adalah pengambilan keputusan, bukan pengarsipan setelah fakta
> - Pemasangan callback atau hook adalah untuk dekopel, membuat backend pemantauan dapat dipertukarkan
> - Observabilitas memerlukan trade-off frekuensi sampling, agregasi metrik, dan strategi penulisan, karena sampling frekuensi tinggi mungkin mengganggu pipeline paralel. Saat menjawab benar, tekankan dasar berasal dari dua garis "urutan dan tahap" dan "pemantauan→penilaian→intervensi"
> - saat menjawab salah, kembali ke batas tanggung jawab, bedakan empat jenis tanggung jawab: logika algoritma, pemetaan sumber daya, kontrol urutan, dan pengumpulan status.

**Pemeriksaan Pemahaman**

Dapat menggunakan kasus "jeda mencurigakan dalam evolusi ter-tensorisasi jangka panjang" untuk menguji tingkat penguasaan. Pertama gunakan batas tahap untuk memisahkan waktu masing-masing evaluasi batch, seleksi, mutasi, pembaruan status, menentukan dari tahap mana kenaikan waktu per generasi berasal; lalu tumpangkan dua kurva: stagnasi kebugaran rata-rata dan penurunan keragaman, menentukan apakah konvergensi menuju stabil, atau terjebak dalam optimum lokal. Rencana penanganan diorganisir menurut "pemantauan → penilaian → intervensi": lapisan pemantauan mengumpulkan jumlah generasi stagnasi kebugaran, keragaman, dan waktu per generasi; lapisan penilaian menetapkan "N generasi berturut-turut peningkatan di bawah ambang batas dan keragaman turun di bawah batas bawah" sebagai stagnasi, "waktu per generasi melebihi ambang batas" sebagai anomali sumber daya; lapisan intervensi memicu peralihan strategi, early stopping atau restart, dan menyesuaikan ukuran batch atau pemetaan paralel untuk anomali waktu.

Sebelum penanganan, tulis checkpoint terlebih dahulu, menjamin eksperimen dapat direproduksi, kegagalan dapat dilokalisasi, evolusi jangka panjang dapat diinterupsi dan dilanjutkan.

> **Petunjuk Transisi**
>
> Setelah memastikan pembelajar dapat mengatakan "alur kerja mengatur urutan dan tahap, pemantauan mengatur status dan metrik, penjadwal mengatur sumber daya dan pemetaan paralel", lanjutkan ke halaman berikutnya.

<a id="lecture-page-11"></a>

### Runtime Scheduler dan Manajemen Daya Komputasi Heterogen

*Halaman 11*

> **Tujuan Halaman:** Pembelajar harus menguasai peran inti Runtime scheduler dalam alokasi perangkat keras heterogen dan komposabilitas algoritma.

> **Tujuan Halaman**
>
> Menguasai posisi Runtime scheduler dalam EvoX — ia adalah pusat eksekusi yang menghubungkan logika algoritma dengan perangkat keras fisik, bertanggung jawab memetakan algoritma evolusi lapisan atas, definisi masalah, dan alur kerja ke sumber daya daya komputasi heterogen seperti GPU, perangkat akselerasi (TPU/NPU), dan klaster terdistribusi, serta mempertahankan komposabilitas efisien modul algoritma sambil menyembunyikan perbedaan perangkat keras.

> **Urutan Penyampaian**
>
> 1. Pertama bedakan lapisan algoritma dan lapisan eksekusi. Lapisan algoritma fokus pada "apa yang dilakukan", Runtime fokus pada "di mana dilakukan, bagaimana dilakukan". Pemisahan ini adalah kunci untuk memahami arsitektur EvoX.
>
> Penjadwalan daya komputasi heterogen, mengelola GPU, perangkat akselerasi, dan klaster terdistribusi secara terpadu, mendistribusikan tugas, operator, dan graf komputasi tensor ke backend yang sesuai; koordinasi dependensi dan status, menjamin hubungan dependensi tugas dan sinkronisasi status eksekusi yang benar; antarmuka penjadwalan terpadu, sehingga lapisan algoritma tidak perlu terikat pada perangkat atau bentuk klaster spesifik saat mengirimkan tugas; komposabilitas modul, mendukung algoritma, masalah, operator, dan backend eksekusi untuk dikombinasikan, diganti, dan digunakan kembali secara modular.
>
> Ketika algoritma evolusi yang sama beralih dari GPU satu mesin ke klaster multi-mesin, kode lapisan algoritma tetap tidak berubah, Runtime memetakan ulang tugas komputasi dan backend eksekusi. Peneliti karenanya dapat fokus pada inovasi algoritma, tanpa harus menulis ulang kode untuk setiap perangkat keras.
>
> Lapisan atas adalah lapisan algoritma dan alur kerja (modul algoritma, definisi masalah, alur kerja), di tengah adalah Runtime scheduler dan antarmuka penjadwalan terpadu, lapisan bawah adalah lapisan daya komputasi heterogen (GPU, TPU/NPU, klaster terdistribusi); ke bawah mengirimkan tugas, operator, dan graf komputasi, ke atas mengembalikan status dan hasil.

**Poin Pengajaran**

- Runtime tidak mengimplementasikan logika algoritma evolusi, juga tidak mendefinisikan fungsi tujuan masalah
- Tugasnya adalah penjadwalan dan pemetaan. Sumber daya eksekusi yang dikelolanya adalah sumber daya perangkat keras, seperti GPU, perangkat akselerasi, dan klaster terdistribusi
- Kode sumber modul algoritma termasuk lapisan algoritma, bukan objek penjadwalan Runtime. Lapisan algoritma hanya perlu mendeskripsikan apa yang ingin dilakukan, tidak perlu peduli pada perangkat keras apa dilakukan, sehingga algoritma yang sama dapat dimigrasikan ke lingkungan satu mesin, multi-kartu, atau lintas klaster. Komposabilitas berarti algoritma, masalah, operator, dan backend eksekusi dapat dikombinasikan, diganti, dan digunakan kembali secara bebas, bukan terkunci pada satu backend perangkat keras.

**Cakupan Kata Kunci**

- Runtime scheduler, penjadwalan daya komputasi heterogen, koordinasi dependensi dan status, antarmuka penjadwalan terpadu, komposabilitas modul, GPU, perangkat akselerasi, TPU/NPU, klaster terdistribusi, lapisan algoritma, lapisan eksekusi.

> **Petunjuk Materi**
>
> - Halaman ini dilengkapi diagram arsitektur Runtime scheduler yang menghubungkan perangkat keras dan algoritma lapisan atas. Di diagram, lapisan atas adalah lapisan algoritma dan alur kerja, di tengah adalah Runtime scheduler dan antarmuka penjadwalan terpadu, lapisan bawah adalah lapisan daya komputasi heterogen
> - Panah menunjukkan tugas/operator/graf komputasi didistribusikan ke bawah, status/hasil dikembalikan ke atas. Saat menjelaskan diagram, minta siswa mengikuti panah untuk menceritakan kembali "apa yang dikirimkan lapisan atas, apa yang dilakukan Runtime, apa yang dikembalikan lapisan bawah".

**Penanganan Latihan**

Jawaban yang benar soal pilihan ganda 1 adalah memetakan algoritma dan alur kerja ke sumber daya daya komputasi heterogen, dan menyembunyikan perbedaan perangkat keras. Poin umpan balik: Runtime adalah pusat eksekusi, tidak mengimplementasikan logika algoritma, juga tidak mendefinisikan masalah.

Runtime mengelola sumber daya eksekusi perangkat keras, kode sumber termasuk konten lapisan algoritma.

Jawaban yang benar soal pilihan ganda 3 adalah melalui antarmuka penjadwalan terpadu, lapisan algoritma tidak perlu terikat pada perangkat atau bentuk klaster spesifik. Poin umpan balik: mengurangi kopling berarti lapisan algoritma tidak perlu menulis kode berbeda untuk setiap perangkat keras.

Jawaban yang benar soal pilihan ganda 4 adalah algoritma, masalah, operator, dan backend eksekusi dikombinasikan, diganti, dan digunakan kembali secara modular. Poin umpan balik: komposabilitas tercermin dalam komponen yang dapat dikombinasikan dan diganti secara bebas.

Jawaban yang benar soal pilihan ganda 5 adalah memetakan ulang tugas komputasi dan backend eksekusi, kode lapisan algoritma tetap tidak berubah. Poin umpan balik: Runtime menyesuaikan pemetaan tugas secara dinamis, lapisan algoritma tidak perlu dimodifikasi.

Dalam skenario desain airfoil multi-tujuan, tim secara simultan mengoptimalkan koefisien gaya angkat dan rasio gaya angkat-hambatan jelajah, dan memigrasikan kode algoritma yang sama antara GPU satu mesin dan klaster terdistribusi. Saat menjawab, pegang dua poin: pertama, Runtime melalui antarmuka penjadwalan terpadu memetakan tugas, operator, dan graf komputasi ke backend perangkat keras spesifik; ketika perangkat keras berubah, kode lapisan algoritma tidak berubah, Runtime memetakan ulang dan memecah graf komputasi, serta mengkoordinasikan dependensi tugas dan sinkronisasi status. Kedua, saat penjadwalan perlu mempertimbangkan karakteristik komputasi tugas dan hubungan dependensi, kemampuan perangkat keras (seperti paralelisme GPU, overhead komunikasi klaster), eksekusi paralel evaluasi multi-tujuan dan sinkronisasi di bawah umpan balik yang jarang, serta pengembalian status, menjamin pendaratan efisien lintas perangkat keras tanpa merusak komposabilitas.

**Pemeriksaan Pemahaman**

Minta siswa menjelaskan dengan kata-kata sendiri "lapisan algoritma fokus pada apa yang dilakukan, Runtime fokus pada di mana dilakukan, bagaimana dilakukan", dan memberikan contoh lapisan mana yang berubah dan lapisan mana yang tetap tidak berubah saat beralih dari GPU ke klaster. Jika siswa hanya mengingat nama perangkat keras tanpa menjelaskan hubungan penjadwalan dan pemetaan, arahkan kembali ke hubungan panah dalam diagram arsitektur.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat menyebutkan peran penjadwalan dan pemetaan Runtime, dan dapat menjelaskan migrasi lintas perangkat keras dengan antarmuka terpadu dan komposabilitas, lanjutkan ke halaman berikutnya untuk contoh soal, aplikasi, atau ringkasan.

<a id="lecture-page-12"></a>

### Aplikasi Multi-Domain yang Didukung Basis Terpadu

*Halaman 12*

> **Tujuan Halaman:** Pembelajar harus memahami bagaimana basis terpadu ini mendukung tugas-tugas luas seperti pembelajaran penguatan, pemrograman genetik, dan optimasi kombinatorial.

> **Urutan Penyampaian**
>
> Pertama gunakan satu kalimat untuk menunjukkan "basis terpadu = akses terbuka + eksekusi ter-tensorisasi + penjadwalan Runtime. Saat melihat 'aplikasi multi-domain', periksa diri dengan tiga pertanyaan ini: tugas diakses melalui apa? Bagaimana solusi kandidat dievaluasi secara batch? Siapa yang mengelola daya komputasi dan status secara terpadu?", lalu kombinasikan dengan contoh, diagram, atau kata kunci di halaman untuk menjelaskan mengapa ini penting.

**Poin Pengajaran**

- Basis terpadu = akses terbuka + eksekusi ter-tensorisasi + penjadwalan Runtime. Saat melihat "aplikasi multi-domain", periksa diri dengan tiga pertanyaan ini: tugas diakses melalui apa? Bagaimana solusi kandidat dievaluasi secara batch? Siapa yang mengelola daya komputasi dan status secara terpadu?
- Paralelisasi langkah lingkungan, evolusi struktur pohon program, pemetaan tensor diskrit termasuk lapisan adaptasi
- Alur evaluasi, manajemen status, organisasi operator, dan penjadwalan termasuk lapisan bersama. Jika struktur khusus suatu domain ditulis langsung ke logika penjadwalan bersama, berarti tingkat abstraksi yang dipilih salah.
- Halaman ini hanya menjawab "apa yang dapat didukung basis terpadu". Saat menghadapi pertanyaan seperti throughput, overhead penjadwalan, detail implementasi tensor batch, letakkan dulu ke cakupan pembelajaran efisiensi komputasi dan metode tensor batch selanjutnya, jangan berkutat di sini.

Aplikasi Multi-Domain yang Didukung Basis Terpadu

11

AI999

Basis Komputasi Modern dan Evolusi Paralel Ter-Tensorisasi

Tugas kontrol dan pengambilan keputusan memerlukan interaksi berkelanjutan dengan lingkungan yang terus berubah, tugas desain struktur memerlukan pencarian dalam ruang program dan ekspresi dengan panjang variabel, tugas alokasi sumber daya dan perencanaan jalur harus diselesaikan dalam permutasi dan kendala diskrit. Jika untuk setiap jenis masalah membangun sistem terpisah, antarmuka evaluasi, penyimpanan status, pustaka operator, dan penjadwalan daya komputasi semuanya harus diimplementasikan ulang, biaya migrasi rekayasa sangat tinggi. Ide inti basis terpadu adalah menggunakan infrastruktur evolusi yang sama untuk menampung tugas-tugas heterogen ini, sehingga aplikasi multi-domain berbagi evaluasi, status, operator, dan manajemen daya komputasi.

Akses terbuka (mengakses tugas dengan spesifikasi registrasi dan antarmuka terpadu), eksekusi ter-tensorisasi (mengorganisir solusi kandidat menjadi batch, evaluasi paralel batch), penjadwalan runtime (mengalokasikan tugas dan memelihara status pada daya komputasi heterogen). Ketiganya bersama-sama menjamin penggunaan kembali lintas domain, juga menjelaskan mengapa kemampuan "menyediakan basis akses terbuka terpadu untuk pembelajaran penguatan, pemrograman genetik, dan optimasi kombinatorial" layak dibahas secara terpisah.

Aplikasi Multi-Domain yang Didukung Basis Terpadu — Basis akses terbuka yang sama · Berbagi alur evaluasi, manajemen status, organisasi operator, dan penjadwalan daya komputasi — Kemampuan Basis / Domain Tugas — Pembelajaran Penguatan — Pemrograman Genetik — Optimasi Kombinatorial — Akses Terbuka — Antarmuka akses lingkungan — Akses struktur program — Akses solusi dan kendala — Interaksi Lingkungan Paralel — Sampling batch multi-lingkungan — — — Evolusi Struktur Pohon Program — — Mutasi / Persilangan — — Solusi Ter-Tensorisasi — Evaluasi batch strategi — Tensorisasi struktur — Batch kandidat dan kendala — Penjadwalan Runtime dan Manajemen Status — Penjadwalan dan status bersama — Penjadwalan dan status bersama — Penjadwalan dan status bersama — Lapisan Adaptasi: Menyerap perbedaan domain —— Paralelisasi langkah lingkungan · Evolusi struktur pohon program · Pemetaan tensor diskrit — Basis Terpadu: Akses terbuka · Eksekusi ter-tensorisasi · Penjadwalan Runtime dan Manajemen Status — Bagaimana tiga jenis tugas tipikal mendarat di basis yang sama — Pembelajaran penguatan: basis menyediakan kemampuan interaksi lingkungan paralel, mendukung sampling batch multi-instansi lingkungan, evaluasi paralel batch strategi kandidat, dan membentuk loop tertutup dengan optimasi evolusi.

Basis mendukung evolusi struktur panjang variabel dan hierarkis seperti pohon program, dapat menangani representasi struktur dan mutasi, persilangannya dalam alur populasi dan evaluasi terpadu. Optimasi kombinatorial: mengadaptasi keputusan diskrit, seleksi, permutasi, dan tujuan kendala menjadi solusi ter-tensorisasi, meningkatkan throughput pencarian melalui kandidat batch dan evaluasi paralel. Berbagi apa, mengadaptasi apa — Perbedaan domain diserap oleh lapisan adaptasi: pembelajaran penguatan menekankan paralelisasi langkah lingkungan, pemrograman genetik menekankan evolusi struktur pohon program, optimasi kombinatorial menekankan pemetaan keputusan diskrit ke tensor. Ketiganya berbagi penjadwalan Runtime dan manajemen status lapisan bawah — berbagi alur evaluasi,载体 status, cara organisasi operator, dan manajemen daya komputasi, bukan membangun ulang sistem untuk setiap jenis masalah.

Jika struktur khusus suatu domain ditulis langsung ke logika penjadwalan bersama, berarti tingkat abstraksi yang dipilih salah. Cakupan Halaman Ini — Halaman ini berfokus pada "apa yang dapat didukung basis terpadu", tidak mengembangkan perbandingan kinerja spesifik dan detail implementasi penjadwal; yang terakhir diserahkan ke bagian efisiensi komputasi dan metode tensor batch selanjutnya untuk dibahas lebih lanjut.

Apa nilai utama dari basis akses terbuka terpadu?

Memungkinkan domain yang berbeda menggunakan kembali evaluasi, status, operator, dan manajemen daya komputasi, secara signifikan mengurangi biaya migrasi rekayasa

Mengganti pembelajaran penguatan, pemrograman genetik, dan optimasi kombinatorial dengan satu algoritma terpadu

Memampatkan semua tugas menjadi representasi vektor dengan panjang tetap yang sama

Membangun ulang sistem dan rantai alat independen untuk setiap jenis masalah baru

Bentuk tugas berbeda, tetapi spesifikasi akses, evaluasi batch, manajemen status, dan penjadwalan daya komputasi dapat digunakan bersama, masalah baru hanya perlu mendeskripsikan perbedaannya di lapisan adaptasi.

"Membangun ulang sistem untuk setiap jenis masalah" justru merupakan masalah yang ingin diselesaikan basis; pada saat yang sama basis juga tidak menuntut semua tugas menggunakan algoritma yang sama atau representasi yang sama, perbedaan diserap oleh lapisan adaptasi.

Benar. Jawaban ini dapat menghubungkan konsep halaman ini, dan menjelaskan dasarnya.

Silakan kembali ke penjelasan halaman ini, temukan bukti kunci atau contoh sebelum menilai.

Dalam skenario pembelajaran penguatan, kemampuan kunci utama apa yang disediakan basis terpadu?

Operator mutasi dan persilangan pohon program

Hanya mendukung langkah serial satu instansi lingkungan tunggal

Sampling batch multi-instansi lingkungan dan pengumpulan lintasan, evaluasi paralel batch strategi kandidat

Antarmuka pemodelan permutasi dan kendala diskrit

Multi-instansi lingkungan maju secara simultan, pengumpulan lintasan batch, evaluasi paralel strategi kandidat, sehingga membentuk loop tertutup dengan optimasi evolusi.

Evolusi struktur pohon program termasuk titik adaptasi pemrograman genetik, pemodelan kendala diskrit termasuk titik adaptasi optimasi kombinatorial; kunci pembelajaran penguatan adalah paralelisasi batch interaksi lingkungan, bukan serial satu instansi.

Ketika tugas pemrograman genetik diakses ke basis terpadu, fitur kunci apa yang harus didukung basis?

Hanya memproses vektor real dengan panjang tetap

Representasi dan evolusi struktur panjang variabel dan hierarkis seperti pohon program, termasuk mutasi dan persilangan struktur

Harus memaksa mengkodekan pohon program menjadi string biner dengan panjang tetap sebelum evolusi

Hanya dapat memproses fungsi tujuan kontinu tanpa kendala

Solusi kandidat pemrograman genetik adalah struktur program dengan panjang variabel dan hierarkis, basis perlu menampung representasi ini dalam alur populasi dan evaluasi terpadu, dan mendukung mutasi dan persilangan yang sesuai.

Vektor panjang tetap adalah representasi khas optimasi kontinu; ciri inti pemrograman genetik justru adalah struktur pohon program dengan panjang variabel dan hierarkis, serta operasi evolusi yang ditargetkan pada struktur.

Untuk mengakses tugas optimasi kombinatorial ke basis terpadu, pekerjaan adaptasi paling kunci adalah apa?

Menghapus semua kendala, hanya mempertahankan tujuan tunggal

Menulis ulang masalah menjadi tugas pelatihan jaringan saraf kontinu yang dapat diturunkan

Mengompilasi solver khusus secara terpisah untuk setiap instansi masalah

Mengadaptasi keputusan diskrit, seleksi, permutasi, dan tujuan kendala menjadi solusi ter-tensorisasi

Solusi kandidat dan kendala diorganisir menjadi batch, sehingga menggunakan kembali kemampuan kandidat batch dan evaluasi paralel basis.

Mengompilasi solver khusus per-instansi sama dengan kembali ke jalan lama "membangun ulang sistem"; melepaskan kendala juga mengubah masalah itu sendiri, keduanya bukan adaptasi yang diminta basis.

Tentang pembagian kerja lapisan bersama dan lapisan adaptasi, pemahaman mana yang benar?

Logika penjadwalan harus ditulis satu salinan untuk masing-masing pembelajaran penguatan, pemrograman genetik, dan optimasi kombinatorial

Lapisan adaptasi hanya melakukan tampilan antarmuka, tidak berpartisipasi dalam konversi semantik tugas apa pun

Lapisan bersama bertanggung jawab atas evolusi struktur pohon program, lapisan adaptasi bertanggung jawab atas langkah lingkungan

Perbedaan domain diserap oleh lapisan adaptasi, tiga jenis tugas berbagi penjadwalan Runtime dan manajemen status lapisan bawah

Paralelisasi langkah lingkungan, evolusi struktur pohon program, pemetaan tensor diskrit termasuk lapisan adaptasi; alur evaluasi, manajemen status, organisasi operator, dan penjadwalan termasuk lapisan bersama.

Menulis struktur khusus domain ke logika penjadwalan bersama, atau membiarkan lapisan bersama menangani evolusi struktur khusus suatu domain, keduanya adalah kesalahan pembagian lapisan.

Runtime yang sama menampung tiga jenis tugas heterogen

Baca skenario, jawab pertanyaan.

Sebuah tim algoritma sedang membangun platform komputasi evolusioner. Sebelumnya mereka memelihara tiga sistem terpisah untuk kontrol pembelajaran penguatan, regresi simbolik (pencarian struktur program), dan perencanaan jalur logistik: masing-masing memiliki antarmuka evaluasi, penyimpanan status, dan penjadwalan daya komputasi sendiri, duplikasi kode serius, mengganti tugas harus menulis ulang alur. Solusi baru mengubahnya menjadi satu basis terpadu yang menampung tiga jenis tugas ini: tugas pembelajaran penguatan memajukan beberapa instansi lingkungan secara paralel dan mengumpulkan lintasan; tugas pemrograman genetik mengevaluasi populasi pohon program secara paralel; tugas optimasi kombinatorial mengorganisir solusi kandidat dan kendala menjadi batch tensor, dialokasikan oleh penjadwalan terpadu ke daya komputasi heterogen.

1. Mengapa tim meninggalkan pemeliharaan sistem terpisah untuk setiap jenis masalah? Jelaskan dari sudut pandang penggunaan kembali dan biaya migrasi.

Akses tugas, evaluasi batch solusi kandidat, manajemen status kandidat dan populasi, organisasi operator, dan penjadwalan daya komputasi. Pemeliharaan terpisah berarti kemampuan ini diimplementasikan ulang tiga kali, tugas baru apa pun harus membangun ulang alur, biaya migrasi rekayasa sangat tinggi. Basis terpadu memungkinkan tiga jenis tugas menggunakan kembali alur evaluasi,载体 status, cara organisasi operator, dan manajemen daya komputasi yang sama, tugas baru hanya perlu mendeskripsikan perbedaannya sendiri di lapisan adaptasi untuk diakses.

2. Silakan tunjukkan perbedaan yang diserap oleh tiga jenis tugas di lapisan adaptasi, dan jelaskan apa yang mereka gunakan kembali di lapisan bersama.

Pembelajaran penguatan menekankan paralelisasi langkah lingkungan (sampling batch multi-instansi lingkungan, pengumpulan lintasan, dan evaluasi batch strategi); pemrograman genetik menekankan representasi dan evolusi struktur panjang variabel dan hierarkis seperti pohon program (mutasi dan persilangan struktur); optimasi kombinatorial menekankan pemetaan keputusan diskrit, seleksi, permutasi, dan tujuan kendala menjadi solusi ter-tensorisasi. Penggunaan kembali lapisan bersama: spesifikasi akses terbuka, eksekusi batch ter-tensorisasi, penjadwalan Runtime dan manajemen status, serta alokasi daya komputasi heterogen terpadu. Justru karena perbedaan dikumpulkan di lapisan adaptasi dan kesamaan tenggelam di lapisan bersama, maka tidak perlu membangun ulang sistem untuk setiap jenis masalah.

Pertama ingat tiga pilar

Basis terpadu = akses terbuka + eksekusi ter-tensorisasi + penjadwalan Runtime. Saat melihat "aplikasi multi-domain", periksa diri dengan tiga pertanyaan ini: tugas diakses melalui apa? Bagaimana solusi kandidat dievaluasi secara batch? Siapa yang mengelola daya komputasi dan status secara terpadu?

Bedakan lapisan bersama dan lapisan adaptasi

Paralelisasi langkah lingkungan, evolusi struktur pohon program, pemetaan tensor diskrit termasuk lapisan adaptasi; alur evaluasi, manajemen status, organisasi operator, dan penjadwalan termasuk lapisan bersama. Jika struktur khusus suatu domain ditulis langsung ke logika penjadwalan bersama, berarti tingkat abstraksi yang dipilih salah.

Batas halaman ini

Halaman ini hanya menjawab "apa yang dapat didukung basis terpadu". Saat menghadapi pertanyaan seperti throughput, overhead penjadwalan, detail implementasi tensor batch, letakkan dulu ke cakupan pembelajaran efisiensi komputasi dan metode tensor batch selanjutnya, jangan berkutat di sini.

step-1

Pembelajar harus memahami bagaimana basis terpadu ini mendukung tugas-tugas luas seperti pembelajaran penguatan, pemrograman genetik, dan optimasi kombinatorial.

lesson_4

lesson_4_slide_11

Dari draf EvoClass

Menyediakan basis akses terbuka terpadu untuk pembelajaran penguatan, pemrograman genetik, dan optimasi kombinatorial

lesson_id_distribution

67ee25ab22558e4ae0e13f24b7c34c2da1218107cceb1cd331b38fc3521a9743

**Dasar Materi**

Dari draf EvoClass (halaman 4-4)

> **Petunjuk Materi**
>
> - Menyediakan basis akses terbuka terpadu untuk pembelajaran penguatan, pemrograman genetik, dan optimasi kombinatorial

**Kegiatan Kelas**

Minta siswa menceritakan kembali konten halaman ini dengan contoh yang dekat dengan pengalaman siswa, dan minta siswa menjelaskan hubungan antara contoh ini dengan "basis terpadu = akses terbuka + eksekusi ter-tensorisasi + penjadwalan Runtime. Saat melihat 'aplikasi multi-domain', periksa diri dengan tiga pertanyaan ini: tugas diakses melalui apa? Bagaimana solusi kandidat dievaluasi secara batch? Siapa yang mengelola daya komputasi dan status secara terpadu?".

> **Tujuan Terkait**
>
> - Menguasai metode mengekspresikan proses evolusi sebagai komputasi tensor batch
> - Memahami peran Runtime dalam penjadwalan daya komputasi heterogen dan menjaga komposabilitas algoritma

**Pemeriksaan Pemahaman**

Minta seorang siswa secara acak merangkum poin utama halaman ini dengan kata-kata sendiri, pengajar melengkapi kata kunci yang terlewat berdasarkan jawaban.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat menyebutkan hubungan inti halaman ini, lanjutkan ke halaman berikutnya untuk contoh soal, aplikasi, atau ringkasan.

<a id="lecture-page-13"></a>

### Praktik Analisis Perbandingan Efisiensi Komputasi

*Halaman 13*

> **Tujuan Halaman:** Pembelajar harus memahami perbedaan efisiensi antara traversal serial CPU dan pemrosesan batch tensor GPU melalui perbandingan praktik.

> **Tujuan Halaman**
>
> Mendaratkan perbandingan efisiensi komputasi pada praktik yang dapat direproduksi, memahami perbedaan efisiensi end-to-end antara traversal individu serial CPU dan pemrosesan batch tensor GPU, memahami dari mana percepatan berasal, apa biayanya, dan di mana batasnya.

> **Urutan Penyampaian**
>
> Pertama berikan dua baseline pada tugas evolusi yang sama, lalu lihat diagram batang perbandingan efisiensi, kemudian jelaskan protokol pengukuran yang dapat direproduksi, terakhir rangkum sumber manfaat, kondisi batas, dan kesimpulan praktik.

**Poin Pengajaran**

- Gunakan loop untuk memanggil fungsi evaluasi per individu, setiap generasi memerlukan N penjadwalan independen, pembaruan status, dan agregasi hasil. Kontrol loop, overhead interpreter, dan akses memori yang tersebar akan mengencerkan daya komputasi efektif
- Semakin banyak individu, semakin tinggi proporsi biaya non-komputasi ini. Organisir populasi, input evaluasi, dan status operasi sebagai tensor, eksekusi evaluasi dan operator secara batch di GPU, satu panggilan mencakup seluruh set kandidat, sehingga sangat mengurangi loop serial dan jumlah penjadwalan. Dalam kondisi masalah yang sama, populasi yang sama, seed acak yang sama, dan timing setelah pemanasan dan sinkronisasi perangkat, loop serial CPU adalah baseline 1,0×, pemrosesan batch GPU b=64 sekitar 2,2×, b=256 sekitar 4,5×, b=1024 sekitar 7,1×. Diagram menunjukkan nilai relatif waktu per generasi, semakin besar ukuran batch, semakin mudah overhead tetap terdistribusi. Perbaiki masalah, ukuran populasi, jumlah generasi, dan seed acak
- Catat waktu aktual per generasi, total waktu, throughput (evaluasi/detik), rasio percepatan, pemanfaatan GPU, dan penggunaan memori GPU. Sebelum timing harus melakukan pemanasan, mengecualikan pengaruh kompilasi pertama dan alokasi memori GPU
- Titik timing harus melakukan sinkronisasi perangkat
- Waktu komputasi dan waktu transfer data host-perangkat dihitung secara terpisah. Jika salah satu langkah hilang, rasio percepatan mungkin terdistorsi. Manfaat berasal dari paralel batch, operator ter-tensorisasi, dan paralelisme dalam perangkat, sehingga satu panggilan memproses seluruh set kandidat
- Kendala termasuk ukuran batch, dimensi masalah, tingkat vektorisasi fungsi evaluasi, overhead penyalinan host-perangkat, dan overhead peluncuran kernel. Batch yang terlalu kecil akan dimakan oleh overhead peluncuran
- Jika fungsi evaluasi tidak dapat divektorisasi, pemrosesan batch hampir tidak dapat berfungsi. Urutan yang benar adalah memverifikasi terlebih dahulu apakah fungsi evaluasi dapat dibatch, lalu bandingkan implementasi CPU dan GPU. Keunggulan efisiensi akhirnya harus mendarat pada "mendapatkan lebih banyak generasi atau lebih banyak solusi kandidat dalam anggaran komputasi yang sama", dan berdasarkan itu menentukan cara deployment dan desain eksperimen, bukan sekadar mengejar angka rasio percepatan.

**Penanganan Latihan**

Jawaban yang benar soal 1 adalah "overhead penjadwalan, interpreter, dan akses memori yang tersebar yang ditimbulkan oleh pemanggilan fungsi evaluasi secara independen per individu". Baseline serial menghasilkan N penjadwalan independen dan pembaruan status per generasi, kontrol loop, overhead interpreter, dan akses memori yang tersebar akan mengencerkan daya komputasi efektif; pada saat ini belum ada peluncuran kernel GPU dan penyalinan.

Jawaban yang benar soal 2 adalah mengorganisir populasi, input evaluasi, dan status operasi menjadi tensor, satu panggilan mencakup seluruh set kandidat. Inti percepatan adalah paralel batch dan tensorisasi, bukan mengubah presisi, ukuran populasi, atau jumlah seed.

Protokol standar soal 3 adalah memperbaiki masalah, ukuran populasi, generasi, dan seed, melakukan pemanasan dan sinkronisasi perangkat sebelum timing, dan membedakan waktu komputasi dan transfer data.

GPU sering mengeksekusi secara asinkron, jika tidak disinkronkan, timing mungkin melewatkan komputasi yang belum selesai, menyebabkan waktu低估 dan rasio percepatan虚高; sinkronisasi sendiri tidak meningkatkan daya komputasi, juga tidak menghilangkan transfer data.

Ketika tingkat vektorisasi fungsi evaluasi rendah, keunggulan pemrosesan batch GPU jelas melemah, bahkan mungkin terbatas manfaatnya karena overhead penyalinan dan peluncuran kernel; percepatan tidak konstan, juga tidak akan meningkat tanpa batas seiring pertumbuhan batch.

Praktik Kasus:

1. Percepatan sekitar 9 kali yang diperoleh tanpa sinkronisasi perangkat kemungkinan besar tidak dapat dipercaya. Setelah host mengirimkan kernel, ia tidak akan menunggu penyelesaiannya sebelum melanjutkan eksekusi, jika titik timing tidak disinkronkan, waktu yang diukur mungkin hanya mencakup tahap peluncuran kernel, melewatkan komputasi aktual yang masih berjalan, menyebabkan waktu GPU sehr di-underestimate dan rasio percepatan虚高. Cara perbaikan: setiap titik timing memanggil sinkronisasi perangkat, memastikan semua pekerjaan yang dikirim benar-benar selesai sebelum membaca timestamp; lakukan iterasi pemanasan terlebih dahulu, dan hitung waktu transfer data host-perangkat dan waktu komputasi murni secara terpisah. Hanya waktu per generasi dan total waktu yang diukur dalam kondisi seed tetap, pemanasan dan sinkronisasi yang dapat dijadikan dasar yang dapat dipercaya.

2. Rasio percepatan hanya sekitar 1,2 kali pada batch kecil b=8 tidak kontradiktif. Manfaat pemrosesan batch dibatasi bersama oleh ukuran batch, overhead peluncuran kernel, dan overhead transfer data; ketika batch terlalu kecil, beban kerja yang dapat diparalelkan di perangkat tidak cukup, overhead tetap menempati proporsi besar dari waktu per generasi, paralelisme efektif tidak dapat mendistribusikan biaya ini, rasio percepatan secara alami mendekati 1. Disarankan untuk memperbesar ukuran batch dalam batas memori GPU, vektorisasi fungsi evaluasi dan logika pasca-pemrosesan secara keseluruhan sebisa mungkin, dan mengukur ulang sesuai protokol standar, melaporkan waktu per generasi, total waktu, throughput, dan rasio percepatan secara terpisah, sehingga dapat menilai apakah manfaat benar-benar mendarat pada tujuan mendapatkan lebih banyak generasi atau lebih banyak kandidat dalam anggaran yang sama.

**Pemeriksaan Pemahaman**

Minta siswa secara acak menjelaskan dengan kata-kata sendiri mengapa memverifikasi vektorisasi fungsi evaluasi terlebih dahulu, baru membandingkan CPU dan GPU; dan sebutkan masalah apa yang masing-masing diselesaikan oleh pemanasan dan sinkronisasi perangkat.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat membedakan sumber manfaat dan kondisi batas, dan dapat mengonversi percepatan menjadi manfaat anggaran, lanjutkan ke halaman berikutnya untuk contoh soal, aplikasi, atau ringkasan.

<a id="lecture-page-14"></a>

### Metode Inti Komputasi Tensor Batch

*Halaman 14*

> **Tujuan Halaman:** Pembelajar harus memperkuat metode inti mengekspresikan proses evolusi sebagai komputasi tensor batch.

> **Tujuan Halaman**
>
> Memperkuat metode inti mengekspresikan proses evolusi sebagai komputasi tensor batch, memahami hubungan antara dimensi batch, operator batch, optimasi graf komputasi, dan metrik throughput, serta dapat mengidentifikasi tensorisasi palsu.

> **Urutan Penyampaian**
>
> Tensor kandidat X adalah [N × D], tujuan dan kendala F adalah [N × M], output evaluasi Y adalah [N × M]; dimensi batch N selalu di lapisan terluar, D dan M mendeskripsikan jumlah variabel dan jumlah item tujuan dari satu kandidat.

> Memetakan populasi, tujuan/kendala, output evaluasi, dan status evolusi secara terpadu ke tensor dengan dimensi batch, besaran status dipelihara dengan skalar atau buffer tensor kecil, bukan dicatat per-individu dalam objek Python.

> Mutasi X′ = X + σ·randn(X), persilangan dipasangkan dan direkombinasi di sepanjang dimensi N, seleksi idx = topk(F, k), evaluasi Y = fθ(X). Fokusnya bukan ekspresi tunggal, melainkan semua kandidat berbagi graf operasi tensor yang sama, satu panggilan batch menggantikan N panggilan kandidat tunggal; kendala dan pelanggaran batas dapat ditangani dengan tensor mask dalam operasi batch yang sama.

> Fusi operator mengurangi peluncuran kernel, paralelisme dalam batch membuat semua kandidat dieksekusi secara simultan, eksekusi asinkron menumpangkan komputasi dan transfer, penggunaan ulang memori mengurangi alokasi tensor antara.

> Beralih dari latensi langkah tunggal ke kandidat/detik atau generasi/detik, karena satu panggilan batch membawa seluruh batch kandidat, throughput keseluruhan baru mencerminkan efisiensi pencarian.

> Menyematkan operator batch dalam loop Python per-individu akan memasukkan kembali overhead interpreter dan overhead peluncuran kernel, dimensi batch sia-sia. Metode pemeriksaan mandiri: dalam satu langkah evolusi, tingkat penjadwalan harus hanya "batch", tidak ada "individu".

**Poin Pengajaran**

- Dimensi batch N adalah jumlah kandidat, ketika bentuk cocok, mutasi, persilangan, seleksi, evaluasi semuanya dapat dieksekusi secara batch langsung di sepanjang dimensi N. Manfaat langsung tensorisasi berasal dari mengurangi jumlah panggilan dan overhead penjadwalan, bukan mengubah jumlah kandidat atau meningkatkan presisi titik tunggal. randn(X) menghasilkan tensor gangguan acak dengan bentuk yang sama dengan X, gangguan bersifat per-elemen, σ mengontrol kekuatan. topk(F, k) memilih indeks k kandidat teratas di sepanjang dimensi batch N, objek seleksi adalah kandidat bukan variabel atau item tujuan. Eksekusi batch mengubah posisi hambatan kinerja, latensi masih dapat diukur, tetapi untuk mengukur efisiensi skala harus melihat berapa banyak kandidat atau berapa banyak generasi yang diselesaikan per unit waktu.

**Cakupan Kata Kunci**

- Komputasi tensor batch, dimensi batch N, kontrak bentuk, operator batch, optimasi graf komputasi, throughput, kandidat/detik, generasi/detik, tensorisasi palsu.

> **Petunjuk Materi**
>
> - Diagram halaman ini bertema "proses evolusi → graf komputasi tensor batch", tiga kolom secara berurutan adalah ①organisasi ter-tensorisasi, ②operator batch, ③optimasi kompilasi dan throughput. Papan tulis atau mind map dapat dikembangkan menurut tiga kolom ini, dan di kolom ketiga tonjolkan metrik throughput "kandidat/detik · generasi/detik".

> **Petunjuk Latihan**
>
> - 5 soal pilihan ganda masing-masing memeriksa kontrak bentuk, manfaat kinerja tensorisasi, makna ekspresi mutasi, semantik seleksi topk, alasan pergantian metrik. Umpan balik jawaban dapat menekankan: saat benar, hubungkan kontrak bentuk atau cara pemanggilan untuk menjelaskan dasar
> - saat salah, kembali ke penjelasan halaman ini, temukan bukti kunci sebelum menilai. Soal kasus "memigrasikan loop evolusi per-individu ke eksekusi tensor batch" meminta menjelaskan bagaimana mengorganisir kandidat, tujuan, dan status menjadi tensor dan memprosesnya secara batch di sepanjang N, serta trade-off optimasi graf komputasi dan memori GPU yang tidak cukup. Poin jawaban termasuk X:[N×D], F:[N×M], Y=fθ(X), status menggunakan skalar atau buffer tensor kecil
> - mutasi, persilangan, seleksi, evaluasi semuanya dieksekusi secara batch di sepanjang dimensi N
> - optimasi dapat melakukan fusi operator, paralelisme dalam batch, eksekusi asinkron, penggunaan ulang memori
> - ketika memori GPU tidak cukup dapat menggunakan eksekusi blok atau batch kecil, mengurangi presisi numerik, mempersingkat siklus hidup tensor antara, tetapi semua kandidat dalam generasi yang sama harus mempertahankan standar perbandingan yang konsisten.

**Kegiatan Kelas**

Minta siswa menjelaskan dengan kata-kata sendiri "mengapa dimensi batch N harus di lapisan terluar", dan memberikan contoh sederhana, seperti N=4, D=3, M=2, tuliskan bentuk X, F, Y, jelaskan bagaimana satu panggilan batch menggantikan beberapa panggilan kandidat tunggal.

**Pemeriksaan Pemahaman**

Minta siswa merangkum kontrak bentuk, menunjukkan satu cara penulisan tensorisasi palsu, menjelaskan mengapa metrik beralih dari latensi langkah tunggal ke throughput. Jika siswa hanya dapat mengulang istilah tanpa menjelaskan perubahan jumlah panggilan dan tingkat penjadwalan, dapat kembali ke bagian operator batch dan kesalahan umum untuk penjelasan tambahan.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat menyebutkan hubungan antara kontrak bentuk dan eksekusi batch, lanjutkan ke halaman berikutnya untuk aplikasi, ringkasan, atau diskusi optimasi graf komputasi yang lebih kompleks.

<a id="lecture-page-15"></a>

### Penjadwalan Runtime dan Komposabilitas Algoritma

*Halaman 15*

> **Tujuan Halaman:** Pembelajar harus memperkuat pemahaman inti tentang Runtime dalam penjadwalan daya komputasi heterogen dan komposabilitas algoritma.

> **Tujuan Halaman**
>
> Membangun posisi Runtime sebagai lapisan perantara — ia bukan algoritma spesifik, melainkan lapisan penjadwalan dan abstraksi yang menghubungkan atas dan bawah: ke atas mendukung kombinasi fleksibel algoritma, masalah, dan alur kerja, ke bawah mengelola daya komputasi heterogen seperti CPU, GPU, sehingga mempertahankan komposabilitas algoritma dan independensi perangkat keras.

> **Urutan Penyampaian**
>
> Pertama berikan penilaian "lapisan perantara"; lalu uraikan objek penjadwalan, sumber daya heterogen, dan mekanisme dekopel; kemudian jelaskan manfaat dan biaya komposabilitas; terakhir gunakan contoh penggantian algoritma dan latihan untuk memeriksa pemahaman.

**Poin Pengajaran**

- Berdasarkan status modul alur kerja dan pemantauan, menjadwalkan tugas seperti populasi, evaluasi, operator ke perangkat yang sesuai, mengelola eksekusi paralel dan penggunaan sumber daya secara terpadu. Ia menerima modul algoritma, masalah, alur kerja, ke bawah memanggil CPU, GPU, akselerator. Algoritma, masalah, operator dikombinasikan melalui antarmuka modular, tidak langsung terikat pada perangkat keras dasar, strategi paralel, atau detail kompilasi. Oleh karena itu saat mengganti algoritma seperti DE, PSO atau mengganti masalah optimasi, tidak perlu menulis ulang kode paralel GPU/CPU lapisan bawah. Perbedaan perangkat, eksekusi ter-tensorisasi, dan optimasi kompilasi diserap oleh Runtime, lapisan algoritma tetap independen dari perangkat, memudahkan penggantian dan penggunaan kembali. Abstraksi akan membawa overhead penjadwalan dan pemindahan data, perlu menyeimbangkan antara fleksibilitas, kinerja, dan kompleksitas rekayasa, misalnya menggunakan pemrosesan batch, eksekusi asinkron, atau cache untuk mengurangi pemindahan data. Runtime yang sama dapat mendukung aplikasi multi-domain, juga menyediakan lingkungan eksekusi yang stabil untuk evolusi metode dan penggantian algoritma.

> **Petunjuk Materi**
>
> - Diagram halaman ini dapat dibaca dalam tiga lapisan. Lapisan atas adalah lapisan algoritma, berisi modul algoritma, definisi masalah, alur kerja, ketiganya diakses melalui antarmuka terpadu
> - Lapisan tengah adalah lapisan penjadwalan Runtime, bertanggung jawab atas penjadwalan tugas, eksekusi paralel, manajemen sumber daya, dan isolasi antarmuka
> - Lapisan bawah adalah daya komputasi heterogen, termasuk CPU, GPU, akselerator. Petunjuk di kedua sisi masing-masing menekankan "algoritma dapat diganti, independen dari perangkat keras" dan "trade-off: fleksibilitas·kinerja·kompleksitas", petunjuk di bawah "Runtime yang sama mendukung aplikasi multi-domain". Saat menjelaskan dapat mengikuti panah dari atas ke bawah: lapisan algoritma tidak langsung menyentuh perangkat keras, melainkan dijadwalkan dan dieksekusi oleh Runtime sesuai alur kerja.

**Cakupan Kata Kunci**

- Penjadwalan daya komputasi heterogen, komposabilitas algoritma, antarmuka terpadu, penjadwalan alur kerja, abstraksi independen perangkat keras, isolasi antarmuka, overhead penjadwalan, overhead pemindahan data.

**Penanganan Latihan**

Lima soal pilihan ganda dapat digunakan untuk pemeriksaan cepat. Arah yang benar soal 1 adalah "menyediakan lapisan penjadwalan dan abstraksi, mengelola daya komputasi heterogen dan mempertahankan komposabilitas algoritma", jika siswa salah memilih "langsung mengimplementasikan algoritma optimasi", perlu menekankan Runtime tidak mengimplementasikan algoritma spesifik. Arah yang benar soal 2 adalah "dikombinasikan melalui antarmuka modular, tidak terikat pada perangkat keras dasar dan strategi paralel", jika salah memilih CUDA API atau kode paralel manual, jelaskan ini akan merusak dekopel. Arah yang benar soal 3 adalah "menyerap perbedaan perangkat, eksekusi ter-tensorisasi dan optimasi kompilasi, membuat lapisan algoritma independen dari perangkat". Arah yang benar soal 4 adalah "abstraksi membawa overhead penjadwalan dan pemindahan data, perlu trade-off fleksibilitas, kinerja, dan kompleksitas rekayasa".

Arah yang benar soal 5 adalah "Runtime yang sama dapat mendukung aplikasi multi-domain, dan menyediakan lingkungan eksekusi yang stabil untuk evolusi metode". Saat umpan balik, kembalikan secara seragam ke tiga bukti: lapisan perantara bukan implementasi algoritma, komposabilitas memerlukan dekopel perangkat keras, abstraksi bukan tanpa biaya.

Runtime sebagai lapisan perantara, mengombinasikan modul algoritma, masalah, dan alur kerja melalui antarmuka terpadu, menjadwalkan tugas seperti populasi, evaluasi, operator ke CPU atau GPU untuk dieksekusi; lapisan algoritma tidak langsung terikat pada perangkat keras, strategi paralel, atau detail kompilasi, sehingga ketika tim mengganti DE, PSO atau menyesuaikan ukuran populasi, tidak perlu menulis ulang kode paralel lapisan bawah. Pertanyaan kedua dapat dijawab: abstraksi akan membawa overhead penjadwalan dan pemindahan data tambahan, mungkin mempengaruhi kinerja end-to-end; pada saat yang sama pemeliharaan dan debugging Runtime sendiri menambah kompleksitas rekayasa. Tim dapat mengurangi pemindahan data melalui pemrosesan batch, eksekusi asinkron, atau cache, mencapai keseimbangan antara fleksibilitas, kinerja, dan kompleksitas rekayasa.

**Pemeriksaan Pemahaman**

Minta siswa menjelaskan dalam satu kalimat mengapa Runtime memungkinkan penggantian algoritma tidak mempengaruhi kode perangkat keras; lalu masing-masing sebutkan satu objek penjadwalan dan satu sumber daya heterogen, memastikan tidak mencampuradukkan "populasi, evaluasi, operator" dengan "CPU, GPU, akselerator".

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat membedakan objek penjadwalan dan sumber daya heterogen, dan dapat menyebutkan manfaat dan biaya komposabilitas, lanjutkan ke halaman berikutnya untuk contoh soal, aplikasi, atau ringkasan.

<a id="lecture-page-16"></a>

### Fondasi Eksplorasi Evolusi Paralel Intensitas Tinggi

*Halaman 16*

> **Tujuan Halaman:** Pembelajar harus merangkum secara komprehensif nilai keseluruhan dan makna praktik basis komputasi EvoX dan evolusi paralel ter-tensorisasi.

> **Tujuan Halaman**
>
> Merangkum secara komprehensif nilai keseluruhan dan makna praktik basis komputasi EvoX dan evolusi paralel ter-tensorisasi. Pembelajar harus dapat menjelaskan transformasi dari daftar kandidat ke graf komputasi ter-tensorisasi, menguasai tiga jenis objek ter-tensorisasi: populasi, evaluasi, dan status, memahami bagaimana Runtime terpadu dan arsitektur terdekopel mendukung eksplorasi evolusi paralel intensitas tinggi.

> **Urutan Penyampaian**
>
> Pertama tunjukkan hambatan alur serial tradisional, lalu perkenalkan graf komputasi ter-tensorisasi sebagai fondasi, kemudian kembangkan tiga objek ter-tensorisasi utama, selanjutnya jelaskan graf komputasi dan arsitektur terpadu, terakhir jatuh pada manfaat, makna praktik, dan kasus airfoil superkritis.

**Poin Pengajaran**

- 1. Eksperimen evolusi tradisional memperlakukan setiap individu sebagai objek Python independen, pemodelan per-individu, evaluasi per-individu. Ketika skala kandidat membesar menjadi ribuan, hambatan sebenarnya sering bukan lagi algoritma itu sendiri, melainkan overhead penjadwalan, sinkronisasi, dan I/O per-kandidat. Fondasi EvoX dapat dirangkum sebagai: dari daftar kandidat ke graf komputasi ter-tensorisasi. Ia mengorganisir ulang populasi, evaluasi, dan status runtime menjadi tensor yang dapat dihitung secara keseluruhan, lalu dijadwalkan oleh Runtime terpadu ke GPU dan daya komputasi heterogen untuk eksekusi batch, sehingga mendukung pencarian evolusi skala besar, multi-tujuan, multi-solusi paralel. 2. Tiga objek ter-tensorisasi utama: Parameter individu, gen, atau strategi tidak lagi berupa objek Python yang di-loop satu per satu, melainkan diorganisir menjadi tensor berdasarkan dimensi batch, perbedaan antar individu dibawa oleh satu dimensi tensor. Kebugaran, kendala, metrik multi-tujuan, serta hasil evaluasi simulasi atau model dapat dihitung secara batch, kandidat dalam batch yang sama berbagi satu panggilan perangkat, secara signifikan mengurangi overhead penjadwalan dan I/O per-kandidat. Status runtime seperti generasi evolusi, seed acak, cache, dan metrik pemantauan dikelola secara terpadu, sehingga eksperimen setelah percepatan paralel tetap dapat direproduksi dan dilacak. Tensorisasi bukan optimasi lokal pada satu tempat, melainkan menembus tiga lapisan siklus evolusi. Jika lapisan mana pun kembali ke loop per-objek, paralelisme akan terhambat di lapisan itu. Setelah meningkatkan daftar kandidat menjadi graf komputasi ter-tensorisasi, paralelisasi operator dan optimasi kompilasi baru memiliki ruang untuk berfungsi, ukuran populasi dan paralelisme evaluasi dapat diperluas seiring daya komputasi, bukan terkunci oleh loop interpreter. Yang menyertainya adalah arsitektur terpadu — algoritma, masalah, alur kerja dan pemantauan, Runtime scheduler saling terdekopel, membuat algoritma dapat dikombinasikan, masalah dapat di-plug, daya komputasi heterogen dikelola secara terpadu. Pengguna tidak perlu sekaligus mengkhawatirkan penjadwalan lapisan bawah saat menulis algoritma. Menggantikan loop serial CPU tradisional, mencapai percepatan skala besar pada GPU dan daya komputasi heterogen, menyediakan fondasi throughput yang stabil untuk eksplorasi intensitas tinggi
- dalam waktu wall clock yang sama, dapat mengeksplorasi lebih banyak kandidat, lebih banyak kombinasi tujuan, atau lebih banyak pengulangan acak. Ketika rekayasa loop dan penjadwalan lapisan bawah diserap oleh basis, peneliti dapat mengalihkan energi ke pemodelan masalah, trade-off tujuan, dan desain hipotesis eksperimen, tanpa harus terjebak terlebih dahulu dalam rekayasa loop dan penjadwalan lapisan bawah. Pembagian kerja ini adalah prasyarat eksplorasi evolusi paralel intensitas tinggi, juga menyediakan fondasi rekayasa untuk evolusi metode dan penelitian ilmiah AI Native selanjutnya. Dalam optimasi multi-tujuan airfoil superkritis, rasio gaya angkat-hambatan jelajah dan koefisien gaya angkat buffet kritis saling membatasi, perlu mempertahankan sekumpulan solusi kandidat yang berbeda untuk trade-off pakar. Satu simulasi presisi tinggi mahal, skala kandidat mencapai ribuan, loop serial CPU awal memerlukan beberapa hari untuk satu eksperimen, dan seed acak serta hasil antara tersebar sulit diverifikasi ulang. Ide perombakan: pertama lakukan tensorisasi populasi, organisir parameter airfoil kandidat menjadi tensor berdasarkan dimensi batch
- kemudian lakukan tensorisasi evaluasi, evaluasi batch untuk tujuan dan kendala seperti rasio gaya angkat-hambatan, koefisien gaya angkat buffet, dapat diprediksi terlebih dahulu secara batch oleh model surrogate, lalu memanggil simulasi presisi tinggi untuk sejumlah kecil kandidat
- pada saat yang sama lakukan tensorisasi status, catat generasi, seed acak, cache, dan metrik pemantauan secara terpadu
- terakhir graf komputasi dan dijadwalkan oleh Runtime terpadu ke GPU dan daya komputasi heterogen untuk eksekusi batch. Tahap peningkatan throughput termasuk paralelisasi evaluasi batch, paralelisasi operator dan optimasi kompilasi, menghilangkan overhead penjadwalan dan sinkronisasi Python per-kandidat, serta mengeksplorasi lebih banyak kandidat, lebih banyak kombinasi tujuan, dan lebih banyak pengulangan acak secara simultan dalam waktu wall clock yang sama. Tentang verifiabilitas ulang: tidak boleh terlalu dini mengeluarkan solusi optimal tunggal, karena tujuan saling membatasi, konvergensi titik tunggal awal akan kehilangan informasi trade-off
- mempertahankan kandidat yang berbeda memungkinkan pakar memilih berdasarkan manfaat, biaya, dan kondisi penerapan. Tentang verifiabilitas ulang, harus mencatat generasi, seed acak, cache, dan metrik pemantauan sebagai status runtime secara terpadu dan mengelolanya bersama graf komputasi, sehingga hasil eksekusi paralel batch dapat direproduksi dan dilacak sepenuhnya, catatan evaluasi batch kandidat juga harus dapat dilacak kembali ke parameter dan konfigurasi evaluasi spesifik.

**Penanganan Latihan**

Halaman ini dilengkapi lima soal pilihan ganda dan satu soal kasus, dapat digunakan untuk memeriksa pemahaman konsep dan aplikasi transfer.

Fondasinya adalah dari daftar kandidat ke graf komputasi ter-tensorisasi, dijadwalkan dan dieksekusi secara batch oleh Runtime terpadu. Petunjuk jawaban: hambatan ada pada loop Python per-kandidat, penjadwalan, dan I/O, bukan algoritma itu sendiri, juga bukan memampatkan populasi atau meningkatkan frekuensi inti tunggal.

Tensorisasi populasi adalah mengorganisir tensor berdasarkan dimensi batch, perbedaan individu dibawa oleh dimensi tensor. Petunjuk jawaban: loop per-objek justru merupakan pendekatan yang ingin ditinggalkan; tensorisasi tidak terkait dengan jumlah tujuan, juga tidak mengorbankan reproduktifitas.

Manfaat utama tensorisasi evaluasi adalah kebugaran, kendala, dan metrik multi-tujuan dihitung secara batch, mengurangi overhead penjadwalan dan I/O per-kandidat. Petunjuk jawaban: ia tidak meningkatkan presisi numerik evaluasi tunggal, tidak dapat menggantikan model simulasi, juga tidak berarti meninggalkan pencatatan.

Manajemen status runtime terpadu adalah untuk meningkatkan reproduktifitas dan keterlacakan eksperimen. Petunjuk jawaban: tensorisasi status mengelola generasi, seed, cache, dan metrik pemantauan sekaligus, tidak terkait dengan mengurangi memori GPU, juga tidak akan menghapus seed acak atau membatasi paralelisme.

Makna dekopel adalah algoritma dapat dikombinasikan, masalah dapat di-plug, daya komputasi heterogen dikelola secara terpadu. Petunjuk jawaban: dekopel melepaskan kemampuan penggunaan kembali dan paralel, bukan membatasi algoritma menjadi implementasi serial, lebih tidak akan menghapus kebutuhan akan hipotesis eksperimen dan trade-off tujuan.

Pertama jelaskan perombakan menurut empat langkah: populasi, evaluasi, status, graf komputasi dan Runtime, lalu tunjukkan tahap peningkatan throughput; pertanyaan kedua harus menjelaskan mengapa mempertahankan kandidat yang beragam, dan menjelaskan bagaimana menjamin verifiabilitas ulang melalui tensorisasi status dan pencatatan terpadu.

Saat siswa menjawab benar, konfirmasi bahwa mereka dapat menghubungkan konsep halaman ini dan menjelaskan dasar; saat menjawab salah, arahkan kembali ke penjelasan halaman ini, temukan bukti kunci atau contoh sebelum menilai.

**Kegiatan Kelas**

Dapat meminta siswa menemukan skenario komputasi evolusioner atau evaluasi batch yang familiar, menilai apakah ada loop Python eksplisit di dalamnya; jika ada, diskusikan apakah tensorisasi harus diprioritaskan pada lapisan populasi, evaluasi, atau status, dan jelaskan alasannya.

**Pemeriksaan Pemahaman**

Minta seorang siswa secara acak merangkum poin utama halaman ini dengan kata-kata sendiri, pengajar melengkapi kata kunci seperti tiga tempat tensorisasi, Runtime terpadu, mengatasi hambatan serial, reproduktifitas dan arsitektur terdekopel berdasarkan jawaban. Dapat ditanyakan: mengapa reproduktifitas bukan item tambahan? Jika seed acak, generasi, cache, dan metrik pemantauan tidak dicatat secara terpadu bersama graf komputasi, manfaat percepatan akan diimbangi oleh hilangnya keterlacakan.

> **Petunjuk Transisi**
>
> Setelah memastikan siswa dapat menyebutkan hubungan inti dari daftar kandidat ke graf komputasi ter-tensorisasi, dan dapat membedakan tiga jenis objek ter-tensorisasi: populasi, evaluasi, dan status, lanjutkan ke halaman berikutnya untuk contoh soal, aplikasi, atau ringkasan.