Implementasi Komputasi Paralel GPU pada Algoritme Cellular Automata Menggunakan CUDA®
Kata Kunci:
video game, game, procedural content generation, Unity, komputasi paralel, CUDA, cellular automata, flood fillAbstrak
Perkembangan industri video game modern ini berkembang dengan sangat cepat. Perkembangan industri ini juga harus diimbangi dengan peningkatan kualitas dan waktu produksi dari produsen video game, mengingat kompetisi dalam industri ini akan semakin ketat. Procedural Content Generation (PCG) merupakan inovasi yang cukup cocok untuk situasi tersebut. Dalam dunia PCG banyak sekali algoritme yang dapat digunakan, salah satu contoh algoritme yang sering digunakan adalah algoritme cellular automata (CA). Namun CA memiliki masalah pada efisiensi, masalah tersebut dapat diatasi dengan menggunakan komputasi paralel. Dalam penulisan ini komputasi paralel diimplementasikan menggunakan teknologi CUDA®. Namun muncul permasalahan lain, yaitu hasil map dari CA tidak selalu dapat dimainkan, permasalahan tersebut dapat diatasi dengan menggunakan algoritme flood fill. Pada penelitian ini, implementasi dilakukan secara bertahap yaitu implementasi CA CPU, CA GPU, dan Flood Fill. Kemudian implementasi dari CA akan diintegrasikan ke dalam game engine Unity®, kemudian dilakukan implementasi permainan. Implementasi permainan dilakukan dalam game engine Unity® menggunakan Bahasa pemrograman C#. Kecepatan waktu komputasi algoritme akan diuji untuk mengetahui performa baik CA CPU, CA GPU dan Flood Fill. Berdasarkan dari hasil pengujian algoritme CA pada GPU memiliki performa hingga 227 kali lebih cepat dibandingkan CA CPU. Selain itu algoritme flood fill yang digunakan dalam penelitian ini memiliki waktu komputasi yang sangat tinggi, sehingga ukuran map yang dapat diimplementasikan terbatas.