alhamdulillah.. akhirnya..


pict: icare3d.org

pict: icare3d.org

selesai jg perjuangan 2 tahun disini.. eh, blom bener-bener selesai sih sebenarnya, masih ada beberapa revisi dan urusan administrasi.. ๐Ÿ˜€ tp yah paling ga, dah lebih lega.. hehe

Sedikit review soal thesis gw,..
Judul thesis: “A Study of Parallel Implementation of Tsunami Simulation on GPU“,
biasa aja sih sebenarnya.. ๐Ÿ˜€ intinya, cuma tentang bagaimana menerapkan paralelisasi pada kasus simulasi Tsunami dengan memanfaatkan paralelisme GPU.. jadi fokus utama thesis ini ada pada paralelisasi dan GPU..

kalau simulasi tsunami, itu cuma kasus doank.. karena perhitungannya cukup kompleks dan data wilayah yang digunakan cukup luas.. jadi cocok buat bahan observasi… ๐Ÿ˜€

kalau ditanya tentang apa itu paralelisasi.. mm.. rada bingung menjelaskan mulai dari mana.. ๐Ÿ˜€ intinya bagaimana memanfaatkan komputer, atau processor, atau unit komputasi lainnya agar bekerja secara paralel dalam menyelesaikan suatu masalah.. jadi bisa LEBIH CEPAT, LEBIH BAIK.. (ups, dah lewat.. :P)

kalau GPU, itu singkatan dari Graphics Processing Unit, kalo istilah yang lebih familiar sih, VGA atau video card.. yah taulah, VGA sekarang udah gila-gilaan canggihnya.. kalau processor CPU keluaran Intel atau AMD cuma sekitar 2 core atau 4 core, nah processor di VGA udah ada yang nyampe 240 core.. keluaran terbaru yang paling rendah aja punya 8 core.. buset dah.. jauh banget yahh ?? ๐Ÿ˜€ nah, daripada VGA mahal-mahal cuma buat nggame doank, mending dipake belajar parallel computing.. hehe..

nah sekarang ttg parallel computing on GPU, intinya sih memanfaatkan banyaknya core yang tersedia di GPU, semakin banyak core/processor, maka akan semakin banyak thread yang bisa dihandle.. ย apa itu thread ? thread itu eksekusi sebuah proses di processor.. nah bagaimana memanfaatkan kemampuan ini ? ada beberapa cara.. mo yang klasik, yang setengah modern atau yang modern ??.. ๐Ÿ˜€

kalau yang klasik, kita bisa pake metode shader programming,.. nah metode ini ga bisa standalone, masih memanfaatkanย rendering pipeline,ย jadi masih harus bekerja dengan Graphics API, contohnya OpenGL atau Direct3D,.. untuk bahasa pemrogramannya, kita bisa pake OpenGL Shading Language (GLSL) atau Cg.. bedanya, kalo GLSL, bisa dipake di VGA keluaran NVIDIA, ATI atau beberapa Intel.. nah, kalau Cg, ini dikembangkan oleh NVIDIA, jadi cuma buat VGA keluaran NVIDIA,.. ada sih yang pernah nyobain ngjalanin Cg di ATI, tp kabarnya ga berjalan sempurna, yah wajarlah lah wong didesain buat VGA keluaran NVIDIA… ๐Ÿ˜€

yang setengah modern, ada namanya BrookGPU,.. nah yang ini masih manfaatin rendering pipeline dan bekerja dengan OpenGL dan Direct3D, tp konsep stream processing nya udah lebih terbuka.. satu lagi kekurangannya bahasa codingnya njelimet, makanya kurang begitu terkenal.. hehe..

nah yang modern itu, ada namanya CUDA atau singkatan dari Compute Unified Device Architecture.. ini teknologi parallel computing baru di VGA yang dikembangin oleh NVIDIA,.. dengan menggunakan CUDA, kita punya akses untuk mengontrol elemen-elemen paralel di GPU, seperti manajemenย thread, register, akses memory di multiprocessor atau di DRAM.. dan tentu saja, performanya jauh lebih baik ketimbang shader programming..

versi stabil pertama CUDA baru keluar sekitar Februari 2007.. dalam 2 tahun, teknologi ini sudah meluas digunakan di perusahaan-perusahaan dan lembaga riset di Amerika dan Eropa.. lalu bagaimana dengan Asia? sebenarnya di beberapa negara Asia sudah mulai dikenal, hanya saja masih di lingkungan akademik atau universitas.. nah rencananya CUDA Center of Excellence yang mengcover wilayah Asia Pasifik akan dibangun di Taiwan, tepatnya di kampus National Taiwan University.. untuk Asia Tenggara, gw liat kampus NTU Singapore sudah mulai memanfaatkan dan mengembangkannya.. lalu bagaimana dengan Indonesia ? hmm.. yah mudah-mudahan cuma karena keterbatasan gw aja, jd belum nemu informasi ini di kampus-kampus Indonesia.. ๐Ÿ™‚

bagaimanapun, karena CUDA ini dikembangin oleh NVIDIA, teknologi ini cuma bisa berjalan di VGA keluaran NVIDIA.. hehe.. tp buat yang ATI jangan khawatir, ada yang namanya OpenCL, teknologi ini mirip dengan CUDA, dan bisa jalan di VGA keluaran ATI, NVIDIA, dan Intel.. OpenCL ini baru rilis tahun lalu (2008) dan dikembangin oleh group yang sama ama yang ngembangin OpenGL.. tapi menurut gw sih, akselerasi pengembangannya ga akan secepat CUDA,.. karena harus menyesuaikan dengan beberapa platform.. ๐Ÿ˜€

ada satu lagi teknologi yang mirip dengan CUDA dan OpenCL, namanya Larrabee, teknologi ini dikembangkan oleh Intel, dan tentu saja fokusnya buat VGA keluaran Intel,.. tp rencananya Larrabee ini baru akan rilis pertengahan tahun 2010..

lalu apa menariknya parallel computing di GPU dibanding dengan parallel computing di cluster atau grid ??… hmm.. sbenarnya ga ada parameter yang adil buat ngbandinginnya.. yah dilihat dari sisi fungsionalnya aja deh.. ๐Ÿ˜€ kalau menurut gw, di GPU lebih efisien dan simpel,.. kita cuma butuh satu PC dan satu VGA keluaran terbaru.. sementara kalo cluster, kita butuh minimal 4 PC, agar kinerja lebih optimal.. dari segi instalasi, di GPU jg relatif mudah ketimbang instalasi cluster.. selain itu,.. kalau kita butuh visualisasi untuk sebuah simulasi, tentu saja di GPU lebih mudah dan tidak akan mengganggu proses komputasi… sementara kalau menggunakan cluster, visualisasi sangat mengurangi performa cluster.. ๐Ÿ˜€ย tp tentu saja ada kekurangannya… GPU punya memory yang relatif terbatas, jadi penggunaan memory jg butuh perhatian.. sementara di cluster, selama slot memory nya cukup.. kita bisa nambahin memory, hingga 4GB di tiap PC..

nah, di thesis gw.. gw cuma make shader programming dengan GLSL, dan CUDA 2.1 & 2.2 di Linux environtment (Fedora 10).. mo nyobain OpenCL, waktunya ga cukup euy.. ๐Ÿ˜€ oia, apa kontribusi dari thesis gw ? karena simulasi tsunami berkaitan dengan persamaan matematika atau metode numerik, fluid dynamics, dan termasuk large data simulation.. jadi, bisa jadi referensi buat menyelesaikan permasalahan yang berkaitan ama matematika, metode numerik, dinamika fluida, atau hal-hal yang berkaitan dengan pengolahan ribuan entry data.. selain itu, gw juga masukin langkah-langkah bagaimana agar program CUDA yang kita buat bekerja lebih optimal.. jadi bisa jadi referensi jg buat belajar CUDA.. ๐Ÿ˜€

10 thoughts on “alhamdulillah.. akhirnya..”

  1. Selamat deh Bang!!! Sukses selalu dan Mudah-mudahan diberikan kelkancaran oleh Allah SWT.
    Judul Thesisnya kalo dipresentasikan di kantorku bagus banget terutama pada kasus simulasi Tsunami… apalagi kasus Tsunami terkait erat dengan bencana di NAD 2004 lalu dan sudah dibuatkan Museumnya.

    Oke deh… kami tunggu loh di forum.. Bang.. he he ๐Ÿ˜›

  2. Assalamualaikum Bang Teguh,
    saya Adit, sekarang masih kuliah di T. Elektro ITB angkatan 2006.

    Saya baca-baca tentang CUNAMI Anda dan saya merasa sangat cocok dengan tema TA saya tentang Parallel Processing using CUDA.
    Hanya saja ini hanya TA, bukan thesis, namun begitu saya sudah bingung mulai dari mana belajarnya.

    Maklum, hanya bermodal coding C/C++ doang nih Bang *_*.

    Apakah ada e-mail yang bisa dari Bang Teguh yang bisa saya hubungi?

    Terima kasih sebelumnya.

  3. yaaa kalo minta sourcecode, ya maaf, ga bisa euy.. karna itu dana risetnya dari kampus, outputnya jg dipegang kampus, itu bagian dari perjanjian sebelum dapat dana..

    kalo mau belajar, basicnya udah ada di CUDA SDK kok.. udah komplit banget tu,… liat2 aja code OceanFFT, simpleGL.. kmaren ide mentahnya dari dua contoh itu..

    untuk persamaan/model tsunaminya, kalo via online bisa di liat di http://www.springerlink.com/content/v5436m2060436718
    kalo mau copyannya nanti dicarikan draft nya..

  4. maaf, bang, dah terbiasa pke agan2,hehe

    saya lg dalam pengembangan project gpu computer

    speksifikasi :

    prosessor core i7
    Ram 12 GB
    harddisk 1 TB
    2 pc Nvidia Tesla m2050 ( 900 cores )
    case thermaltake 3000watts

    sekarang saya baru bisa menjalankan WRF di gpu tersebut, jadi saya perlu referensi lain lg,

    untuk tsunami modeling sedang dalam proses pengerjaan, cuma saya sendiri, jadi agak lama, hehehe… ( klo versi matlabnya udah jalan )

    thanks for infonya,

Leave a Reply

Your email address will not be published. Required fields are marked *