Integrate Your Qt Application with MPI Library

by Agus Kurniawan 1. March 2011 09:49
Qt Framework can help you to build a native application with cross platform capability. Simulation and visualization library was provided to you to enrich your model. How about parallel model capability on Qt? Well, it’s very easy to integrate your Qt application with parallel library such as OpenMPI and MPI. On this article I would like to show you how to configure you Qt Creator with MPI library. There are many MPI library you can use to build parallel program. On this article, I’m going to use MPICH2 as an illustration example. You can download MPICH2 on this website, http://www.mcs.anl.gov/research/projects/mpich2/. Let’s code now… Run your Qt Creator If you use Windows Vista or Windows 7 please make sure you run Qt Creator as Administrator. See picture below Create Qt Console Application Write project name as you want. Configure Qt project file For Windows OS: Assume you installed MPICH2 on directory C:\Program Files (x86)\MPICH2. Now you can configure your Qt project file as below QT += core QT -= gui TARGET = QtMpi CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp INCLUDEPATH += "C:/Program Files (x86)/MPICH2/include" LIBS += "C:/Program Files (x86)/MPICH2/lib/mpi.lib" Write your parallel program Here is a simple parallel program for testing #include <mpi.h> #include <stdio.h> int main(int argc, char *argv[]) { int numberOfProcessors; int rank; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc,&argv); printf("Hello MPI\r\n"); MPI_Comm_size(MPI_COMM_WORLD,&numberOfProcessors); printf("Number of processor = %d\r\n", numberOfProcessors); MPI_Get_processor_name(processor_name, &namelen); printf("Process Name = %s\r\n", processor_name); MPI_Comm_rank(MPI_COMM_WORLD, &rank); printf("Proses pada %d\r\n", rank); MPI_Finalize(); return 0; } Compile and run it Firstly you must compile your program using Qt compiler then you can run your parallel program using mpiexec. Here is a sample script to run my parallel program. For Windows user, run Commandline and change to directory where MPICH2 installed. mpiexec -n 3 "C:\Users\Agus Kurniawan\Documents\QT_Projects\QtMpi-build-desktop\debug\QtMpi.exe"   What’s Next? Now you can use Qt Creator to develop parallel program using MPI. Next you should learn how to write parallel program. There are many resources such as article, paper, book to help you how to write parallel program. For Indonesia people, I wrote a book about parallel programming using MPI and C. Please review this book on this link. This book was published by Penerbit ANDI. You can buy it on bookstore. I have a special offer for related to this book, please read my posted blog here.

Tags:

C/C++ | Grid Computing

Workshop Windows HPC Server 2008 R2

by Agus Kurniawan 25. February 2011 22:29
Terinspirasi untuk capture suatu knowledge dengan mendokumentasi dalam bentuk video. Berikut ini kumpulan video workshop Windows HPC Server 2008 R2 yang gw rekam. Workshop ini dilaksana selama 2 hari yang meliputi presentasi dan hands-on-lab. Materi meliputi Day 1 Overview HPC Introduction to Windows HPC Server 2008 R2 Deploying Windows HPC Server 2008 R2 WCF Support on Windows HPC Server 2008 R2 Job Submission Reporting Hands-on-lab Day 2 Introduction to parallel computing MPI overview (MPICH2 and Microsoft MPI) Hands-on-lab + Submit job Lab MPI, MPI.NET Lab .NET Parallel Dikarenakan keterbatasan upload ke youtube, gw mencoba untuk memotong video ini menjadi beberapa bagian. Berikut ini Windows HPC Server 2008 R2 Workshop - Day 1 - Part 1 Windows HPC Server 2008 R2 Workshop - Day 1 - Part 2 Windows HPC Server 2008 R2 Workshop - Day 1 - Part 3 Windows HPC Server 2008 R2 Workshop - Day 1 - Part 4 Windows HPC Server 2008 R2 Workshop - Day 1 (Hands-on-lab) Windows HPC Server 2008 R2 Workshop - Day 2 - Part 1 Windows HPC Server 2008 R2 Workshop - Day 2 - Part 2 Windows HPC Server 2008 R2 Workshop - Day 2 - Part 3 Windows HPC Server 2008 R2 Workshop - Day 2 (Hands-on-lab) Semoga video workshop ini berguna untuk semua. DVD Workshop Windows HPC Server 2008 R2 Bagi anda yang memang kesulitan internet karena bandwidth atau sekedar untuk menonton secara offline. Gw menyediakan DVD Workshop ini dalam format video resolusi tinggi. Jika tertarik anda dapat memesannya dengan harga Rp 150.000,- untuk wilayah pulau jawa dan Rp 175.000,- untuk diluar pulau jawa (Wilayah Indonesia). Isi DVD meliputi Video presentasi Workshop Windows HPC Server 2008 R2 Video hands-on-lab Live Video lab deploying Windows HPC Server 2008 R2 Video lab parallel programming Video lab job submission on Windows HPC Server 2008 R2 Bonus video presentasi HPC luar negeri Selain materi DVD diatas, anda juga akan mendapatkan bonus buku yang gw tulis yaitu Pemrograman Parallel dengan MPI dan C yang diterbitkan oleh Penerbit Andi pada bulan February 2011. Review buku ini dapat dibaca disini [V] Jika tertarik, anda dapat melakukan transfer ke Rekening Bank BCA KCP ITC Kuningan Acc No: 6640280083 AN: Agus Kurniawan Kirim bukti transfer beserta alamatnya ke email:  agusk2007 [at] gmail.com dan agusk [at] pecollege.net

Tags:

Grid Computing | Windows

Buku Pemrograman Parallel Sudah Tersedia Di Toko Buku

by Agus Kurniawan 19. February 2011 10:20
Akhirnya buku yang kesekian terbit mengenai Pemrograman Parallel dengan MPI dan C. Buku ini diterbit oleh Penerbit Andi. Kemarin gw mendapatkan sample buku nya sebanyak 6 buku. Ukuran buku ini saya suka yaitu model sedang. Info sekilas buku ini ISBN     978-979-29-1710-9      Penulis     Agus Kurniawan      Format/Jml. Hlm     19x23, xiv+334 halaman      Edisi/Cetakan     I, 1st Published      Thn Terbit     2011      Berat Buku     592 gram Sinopsis dan Daftar Isi Gw pernah posting mengenai ini pada blog ini, pembaca dapat membacanya disini [V]. Cara Membeli Buku Buku ini dapat dibeli hampir sebagian besar toko buku di kota anda. Alternatif lain, pembaca dapat membelinya secara online di website penerbit Andi, http://www.andipublisher.com/, lakukan pencarian dengan menulis penulis “Agus Kurniawan” Jika anda membeli banyak saya dapat membantunya untuk memberikan spesial harga (kalau beli banyak). Langsung hubungi saya. Semoga buku ini berguna dan membawa berkah, amin.

Tags:

Books | C/C++ | Grid Computing | Linux | Windows

Warning “Network binding order” While Deploying SQL Server 2008 R2 Failover Cluster

by Agus Kurniawan 16. September 2010 10:45
While you’re deploying SQL Server 2008 R2 Failover Cluster running on the top of Windows Server 2008 R2 you get a warning message “Network binding order”. Look at this picture below. It’s not an error but it doesn’t recommend to continue your deployment because it will degrade SQL Server 2008 Failover Cluster performance. Solution This problem occurs because your network binding adapters don’t order properly. You can check on Network Connection (see picture below). On Windows Server 2008 R2 you don’t see a Menu so you can activate a Menu with clicking on Menu Organize->Layout->Menu bar. After do that, you can see all menu on Network Connections. Now you can configure network binding order with clicking on menu Advanced –> Advanced Settings… You’re going to get a Advanced Settings dialog, see picture below. Make sure network adapters that you use for SQL Server 2008 Failover Cluster place on the top of Connection. Click OK button to finish your configuration. Now you can install SQL Server 2008 Failover Cluster again.

Tags:

Distributed System | Grid Computing | Database Clusters

Tutorial Grid Computing Dengan Windows HPC Server 2008

by Agus Kurniawan 31. August 2010 04:58
Ini adalah artikel gw yang sebenarnya ditulis di tahun 2008 dan di publikasi di blog INDC mengenai Grid Computing dengan menggunakan Windows HPC Server 2008. Next-nya, akan dibuat untuk Windows HPC Server 2008 R2. Semoga berguna Windows HPC Server 2008 Overview Disini gw menjelasin apa itu Windows HPC Server 2008 [Check] Setup Your Own HPC Lab Using Windows HPC Server 2008 (part 1) Disini gw menjelaskan persiapan untuk membuat HPC lab sendiri [Check] Setup Your Own HPC Lab Using Windows HPC Server 2008 (part 2) Disini gw menjelaskan bagaimana instalasi dan konfigurasi HPC head node [Check] Setup Your Own HPC Lab Using Windows HPC Server 2008 (part 3) Ini kelanjutan instalasi dan konfigurasi HPC head [Check] Setup Your Own HPC Lab Using Windows HPC Server 2008 (part 4) Disini gw menjelasakan instalasi dan konfigurasi HPC Compute node [Check] Setup Your Own HPC Lab Using Windows HPC Server 2008 (part 5) Disini gw menjelaskan bagaimana mengintegrasi compute node ke head node [Check] Setup Your Own HPC Lab Using Windows HPC Server 2008 (part 6) Disini gw menjelaskan bagaimana diagnostic semua HPC nodes [Check] Development Environment for Windows HPC Pada artikel ini gw menjelaskan bagaimana development environment untuk Windows HPC [Check]

Tags:

Grid Computing | Windows

Bukuku “Pemrograman Parallel Dengan MPI dan C”

by Agus Kurniawan 24. August 2010 09:31
Buku ini termasuk buku ke-2 yang dimana buku yang ditulis dalam waktu yang lama (buku yg ke-1 yang lama adalah Supervised Neural Network) dan buku ini akan diterbitkan oleh Andi Offset. Secara keseluruhan buku ini adalah buku ke-11 yang kutulis. Khusus untuk buku Pemrograman Parallel dengan MPI dan C gw menghabiskan hampir 2 tahun untuk menulis buku ini. Hal ini karena kesibukanku di tempat kerja dan juga uji program parallel pada mesin Linux Cluster dan Windows HPC Server. Buku ini ditulis untuk menambah referensi bagi mereka yang ingin belajar parallel programming secara praktis. Semua materi dan kode program ditulis dengan menggunakan bahasa C. Sedangkan compiler menggunakan GCC dan Visual C++. Seluruh uji kode program sudah dilakukan pada mesin Linux Ubuntu 10.4 Cluster dan Windows HPC Server 2008. Mengapa Perlu Program Parallel? Alangkah senangnya jika kita dapat melakukan dua pekerjaan atau lebih dalam waktu bersamaan. Apabila ini dapat dilakukan maka kita dapat menghemat waktu misalkan ada 3 pekerjaan yang masing-masing membutuhkan 1 jam maka total 3 pekerjaan adalah 3 jam jika kita mengerjakan secara berurutan. Kalau 3 pekerjaan ini dapat dilakukan secara bersaman maka kita tidak perlu membuang 3 jam untuk 3 pekerjaan ini. Pertanyaan mendasar ketika penulis membuat buku adalah mengapa kita perlu membuat program parallel. Sebelum menjawab pertanyaan ini penulis akan mengajak pembaca beberapa peristiwa penting yang menyebabkan kita perlu bahkan mungkin harus membuat program parallel.   Perkembangan Processor Perkembangan processor merupakan pemicu utama mendukungannya aplikasi berbasis parallel. Kalau kita ambil salah satu perusahan processor yaitu Intel maka kita dapat melihat bagaimana Intel mengembangkan processornya. Processor saat ini dibuat dengan cepat yang terdiri dari IC (Integrated Circuit). Didalam IC, kita akan menjumpai banyak transistor. Menurut Gordon Moore, salah satu co-founder Intel, mengatakan bahwa perkembangan transistor pada satu chip akan dua kali setiap tahun. Prediksi ini cukup akurat, pembaca dapat melihatnya seperti gambar dibawah ini. Penulis tidak akan menyimpulkan secara statistik ataupun menggunakan metodologi penelitian tapi berdasarkan pengamatan penulis (subjektif) kebutuhan akan program parallel cukup tinggi. Hal ini dapat diindikasikan banyaknya perusahan besar seperti Microsoft, IBM, SUN, HP mencoba menerapkan program parallel pada setiap produk guna meningkatkan performance. Gartner sebagai institusi yang salah satunya berfokus melakukan penelitian terhadap trend suatu teknologi mengungkapkan bahwa pemrograman parallel merupakan salah satu isu yang harus diselesaikan pada bidang IT. Hal ini dikarenakan orang-orang berharap permasalahan kompleksitas pada komputasi dapat diselesaikan dengan pemrograman parallel. Pembaca dapat membacanya laporan gatner ini pada alamat http://www.gartner.com/it/page.jsp?id=643117. Penulis ingin mengingatkan bahwa solusi program parallel tidaklah menjadi solusi akhir karena semakin banyak processor belum tentu cepat menyelesaikan suatu masalah. Berdasarkan hukum Amdahl semakin banyak processor dapat meningkatkan kecepatan tetapi pada suatu titik jumlah processor kecepatan akan mencepai jenuh. Hukum Amdahl ini dapat dilihat grafiknya pada gambar dibawah ini.   Sinopsis Buku Perkembangan komputer yang semakin cepat terutama processor. Hampir komputer kelas PC sudah memiliki processor (CPU) lebih dari satu. Seiring dengan cepatnya perkembangan komputer kebutuhan akan komputasi juga semakin komplek. Beberapa kasus bahkan tidak dapat diselesaikan dengan pemrograman konvensioanl yaitu pemrograman berparadigma sequential. Oleh karena itu, pemrograman berbasis parallel dengan melibatkan semua kemampuan processor yang lebih dari satu diharapkan dapat menyelesaikan permasalahan tersebut. Buku ini disusun dengan harapan para akademisi, programmer dan IT professional dapat membuat aplikasi parallel dengan memanfaatkan  Message-Passing Interface (MPI) dan bahasa pemrograman C. Buku ini disusun secara komprehensi dan dilengkapi dengan banyak ilustrasi dalam kode program. Materi buku ini meliputi Mengapa Perlu Program Parallel? Message-Passing Interface (MPI) Persiapan Memrograman Parallel Instalasi dan Konfigurasi MPI Hello World MPI Tipe Data Komunikasi Point-to-Point Komunikasi Kolektif Manajemen Communicator dan Group Topologi Virtual MPI I/O Komunikasi Satu Sisi Memory dan Timer Penanganan Error MPI Client-Server Semua ilustrasi kode program dalam buku ini diimplementasi dengan kompilator GCC pada lingkungan Linux dan Visual C++ 2010 pada lingkungan Windows.   Daftar Isi Berikut ini daftar isi buku: Kata Pengantar Daftar Isi Bab 1. Mengapa Perlu Program Parallel?     1.1 Perkembangan Processor     1.2 Kompleksitas Permasalahan     1.3 Kesimpulan Bab 2. Message-Passing Interface (MPI)     2.1 Apa Itu MPI?     2.2 Implementasi MPI         2.2.1 MPI Untuk C/C++         2.2.2 MPI Untuk Fortran         2.2.3 MPI Untuk Java         2.2.4 MPI Untuk C# Bab 3. Persiapan Memrograman Parallel     3.1 Ketrampilan Pemrograman     3.2 Peralatan Sistem         3.2.1 Persiapan Perangkat Lunak         3.2.2 Persiapan Perangkat Keras     3.3 Mesin Testing Bab 4. Instalasi dan Konfigurasi MPI     4.1 MPICH 2         4.1.1 Prasyarat Instalasi         4.1.2 Instalasi MPICH2 Pada Windows             4.1.2.1 Konfigurasi SMPD         4.1.3 Instalasi MPICH2 Pada Linux     4.2 LAM/MPI dan Open MPI         4.2.1 Prasyarat Instalasi         4.2.2 Instalasi     4.3 Microsoft MPI         4.3.1 Prasyarat Instalasi         4.3.2 Instalasi Bab 5. Hello World MPI     5.1 Persiapan         5.1.1 Program Editor         5.1.1 Kompilator     5.2 Membuat Program Hello World MPI         5.2.1 Menulis Kode Program         5.2.2 Kompilasi             5.2.2.1 Linux             5.2.2.2 Windows dan Microsoft MPI             5.2.2.3 Windows dan MPICH2     5.3 Menjalankan Aplikasi MPI Bab 6. Tipe Data     6.1 Mengenal Tipe Data MPI         6.1.1 Tipe Data Dasar         6.1.2 Tipe Data Turunan             6.1.2.1 Kontinu             6.1.2.2 Vector             6.1.2.3 Struct             6.1.2.4 Index     6.2 Duplikasi Tipe Data     6.3 Informasi Objek         6.3.1 Membuat Objek MPI_Info         6.3.2 Mengisi dan Mengedit Nilai         6.3.3 Menghapus Nilai         6.3.4 Demo     6.4 MPI Proses Bab 7. Komunikasi Point-to-Point     7.1 Mengenal Komunikasi Point-to-Point MPI     7.2 Model Komunikasi         7.2.1 Model Standard         7.2.2 Model Sinkronus         7.2.3 Model Bufer     7.3 Operasi Blocking MPI         7.3.1 MPI_Send()         7.3.2 MPI_Recv()         7.3.3 Message Data         7.3.4 MPI_Status         7.3.5 Penggunaan MPI_Buffer         7.3.6 Demo Operasi Blocking MPI             7.4.6.1 MPI_Wait()             7.4.6.2 MPI_Test()             7.4.6.3 MPI_Request_free()             7.4.6.4 MPI_Waitany()             7.4.6.5 MPI_Waitall()             7.4.6.6 MPI_Testany()             7.4.6.7 MPI_Testall()         7.4.7 Demo     7.5 MPI_Sendrecv()     7.6 Pengecekan MPI         7.6.1 MPI_Iprobe() dan MPI_Probe()         7.6.2 MPI_Cancel()         7.6.3 MPI_Test_cancelled()     7.7 Komunikasi Persisten         7.7.1 Membuat Komunikasi Persisten         7.7.2 Memulai Komunikasi Transmisi         7.7.3 Menunggu Komunikasi Selesai         7.7.4 Menghapus Semua Objek Persisten Yang Digunakan         7.7.5 Demo     7.8 Deadlock Bab 8. Komunikasi Kolektif     8.1 Mengenal Komunikasi Kolektif     8.2 Sinkronisasi Barrier     8.3 Broadcast     8.4 Gather dan Scatter     8.5 GatherV dan ScatterV         8.5.1 Demo MPI GatherV         8.5.2 Demo MPI ScatterV     8.6 Gather-to-All     8.7 All-to-All Scatter dan Gather         8.7.1 Operasi All-to-Allv     8.8 Operasi Reduksi         8.8.1 Operasi All-Reduction         8.8.2 Kustomisasi Operasi Reduksi     8.9 Reduce-Scatter     8.10 Scan         8.10.1 Ekslusif MPI Scan Bab 9. Manajemen Communicator dan Group     9.1 Manajemen Communicator         9.1.1 Operasi Pada Communicator         9.1.2 Demo         9.1.3 Split Communicator     9.2 Manajemen Group         9.2.1 Informasi Group         9.2.2 Operasi Group     9.3 Inter-Communication         9.3.1 Membuat Proses Inter-Communication     9.4 Caching     9.5 Penamaan Objek Bab 10. Topologi Virtual     10.1 Apakah Itu Topologi Virtual?     10.2 Topologi Kartesian         10.2.1 Membuat Topologi Kartesian         10.2.2 Mapping Koordinasi Topologi Kartesian Terhadap Rank         10.2.3 Operasi Shift         10.2.4 Partisi     10.3 Topologi Graph         10.3.1 Membuat Topologi Graph     10.4 Topologi Distribusi     10.5 Pengujian dan Testing         10.5.1 Pengujian Distribusi Kartesian         10.5.2 Pengujian Distribusi Graph     10.6 Fungsi Low-Level Pada Topologi         10.6.1 Demo Topologi Kartesian         10.6.2 Demo Topologi Graph Bab 11. MPI I/O     11.1 Manipulasi File         11.1.1 Membuka dan Menutup File         11.1.2 Menghapus File     11.2 Informasi File     11.3 File View     11.4 Akses Data File         11.4.1 Metode Eksplisit Offset             11.4.1.1 Blocking  Dengan Kondisi Non Collective             11.4.1.2 Blocking Dengan Kondisi Collective             11.4.1.3 Non Blocking & Split Collective  Dengan Kondisi Non Collective             11.4.1.4 Non Blocking & Split Collective Dengan Kondisi Collective         11.4.2 Metode Individu Pointer File             11.4.2.1 Blocking  Dengan Kondisi Non Collective             11.4.2.2 Blocking Dengan Kondisi Collective             11.4.2.3 Non Blocking & Split Collective  Dengan Kondisi Non Collective             11.4.2.4 Non Blocking & Split Collective Dengan Kondisi Collective         11.4.3 Metode Sharing Pointer File             11.4.3.1 Blocking  Dengan Kondisi Non Collective             11.4.3.2 Blocking Dengan Kondisi Collective             11.4.3.3 Non Blocking & Split Collective  Dengan Kondisi Non Collective             11.4.3.4 Non Blocking & Split Collective Dengan Kondisi Collective Bab 12. Komunikasi Satu Sisi     12.1 Mengenal Komunikasi Satu Sisi     12.2 Membangun Komunikasi     12.3 Operasi Pada Komunikasi Satu Sisi     12.4 Sinkronisasi         12.4.1 Sinkronisasi Target Aktif         12.4.2 Lock     12.5 Demo         12.5.1 Demo 1         12.5.2 Demo 2 Bab 13. Memory dan Timer     13.1 Bekerja dengan Memory     13.2 Bekerja dengan Timer Bab 14. Penanganan Error     14.1 Penanganan Error     14.2 Menangani Error Pada Communicator     14.3 Menangani Error Pada Window     14.4 Menangani Error Pada File     14.5 Memperoleh Informasi Error Bab 15. MPI Client-Server     15.1 Konsep Client-Server     15.2 MPI Server     15.3 MPI Client     15.4 Proses Kirim Dan Terima Data     15.5 Demo Client-Server     15.6 Publikasi Daftar Pustaka Lampiran Tentang Penulis Semoga buku ini bermanfaat   Cek juga info bagaimana membelinya disini

Tags:

Books | C/C++ | Grid Computing | Linux | Windows

Parallel Programming @Innovation Day, 11 May 2010

by Agus Kurniawan 25. May 2010 17:15
Slide ini adalah presentasi waktu acara Innovation Day, 11 May 2010 Di Balai Kartini Jakarta. Untuk mengunduh, klik link dibawah ini Innovation Day - Parallel Programming.pdf (1.67 mb)

Tags:

.NET | C/C++ | Grid Computing

Aktivitas di Awal Bulan Tahun Baru 2009

by Agus Kurniawan 19. January 2009 06:36
Semenjak awal tahun 2009, gw menyibukkan diri untuk lebih fokus ke topik mengenai grid computing dan machine learning walaupun topik ini sudah difokus hampir dua tahun lalu tetapi ini di pressure supaya dapat menghasilkan suatu paper. Dalam dua bulan banyak membaca dua buku yaitu Fault-Tolerant Systems Bio-Inspired Artificial Intelligence - Theories, Methods, and Technologies Fault-Tolerant Systems Buku ini ditulis oleh Karen and Khrisna. Buku cukup lengkap membahas fault-tolerant system pada grid computing ataupun cluster. Pembahasannya mulai dari bagaimana mendesign storage yang aware terhadap fault-tolerant hingga sistem komunikasi datanya. Tidak kalau menariknya juga dibahasa mengenai algoritma nya, Buku ini isinya meliputi: Preliminaries Hardware Fault Tolerance Information Redundancy Fault-Tolerant Networks Software Fault Tolerance Checkpointing Case Studies Fault Detection in Cryptographic Systems Simulation Techniques Salah satu fault-tolerant yang memanfaatkan processor untuk detectionnya Buku setebal 400 halaman dan dipublikasinya oleh Morgan Kaufmann lumayan sebagai bahan referensi untuk scale up skill kita mengenai grid computing terutama fokus ke fault-tolerant. Lengkapnya dapat dilihat disini [V] Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies Buku yang memaparkan bagaimana membangun sistem Artificial Intelligence yang berbasiskan biology maksudnya adalah bagaimana kita membangun sistem kecerdasannya model sepertinya kehidupan didunia seperti manusia ataupun hewan. Dari buku gw banyak mendapatkan informasi mengenai artificial life, terus terang ini topik yang  gw coba perdalam. Buku ini ditulis oleh Dario dan Claudio yang diterbitkan oleh MIT Press. Buku setebal 659 halaman lengkapnya dapat dilihat disini [V]. Isi buku ini meliputi: Evolutionary Systems Cellular Systems Neural Systems Developmental Systems Immune Systems Behavioral Systems Collective Systems Buku ini juga membahas juga implementasi robot-robot yang diinspirasi oleh behavior dari mahluk hidup. Contoh yang bagus diberikan adalah robot salamender. Robot ini dibuat terinspirasi bagaimana salamender dapat dapat berenang di air kemudian naik ke darat. Behavior dari berenang kemudian berjalan inilah dibahas behavioral system Ada juga yang bahas robot yang terinspirasi dengan collective system yaitu M-TRAN. Sistem ini terdiri dari robot-robot kecil yang dapat bergabung membentu suatu model baru Ilmu ini didasarkan pada model Biological Self-Organization yang memungkin sistem biology terutama kimia dapat saling berinteraksi. Model ini dituangkan dalam math equation sehingga didapatkan implementasi seperti ini. Implementasi lainnya adalah swarm intelligence dimaan dibuat model robot agent berbasis swarm seperti gambar dibawah ini Selain kedua buku ini, gw juga sekali-kali membaca mengenai Graph Theory. Topik ini menurutk gw cukup berat karena banyak maen-maen di algoritma dan matematis. Beratnya karena buku ini "mengigit " topik-topik lainnya sehingga perlu membaca topik lain dan kemudian kembali ke buku ini tapi kadang gak kembali lagi lantaran mengerjakan yang sesuatu yang menghasilkan "money" secara instan.  Lebih detailnya dapat dicek disini [V]   Ok, tetap semangat....luruskan niat dan jaga kesehatan....

Tags:

Books | Grid Computing | Machine Learning

Parallel Computing Workshop di MIC UI dan MIC ITB

by Agus Kurniawan 19. January 2009 00:22
Seperti prediksi gw biasanya training/workshop berbasis HPC memang sedikit. Disamping ilmunya cukup dikatakan agak susah dan juga bidangnya cukup spesifik. Padahal dari sudut kebutuhan, saat ini sudah semakin kebutuhan para engineer atau peneliti di bidang HPC. Pada Workshop HPC di UI peserta memang sedikit dari segi quantiy tapi dari segi quality jauh lebih baik dan fokus. Hampir sebagian dari kalangan akademis dan peneliti. Next session Workshop HPC di bandung yang hampir selisih sedikit dengan tahun baru cina. Tergantung promosinya yang mesti gencar-gencar. Hanya satu kata, welcome to our club, HPC..

Tags:

Grid Computing

Come to my Workshop - Parallel Computing

by Agus Kurniawan 15. January 2009 17:25
Kalau tidak berhalangan gw akan mengisi training mengenai Parallel Computing baik batch 1 dan 2. Undangannya seperti gambar dibawah ini Gw sendiri akan deliver materi mengenai Message Passing Interface (MPI) dengan implementasi memanfaatkan MS-MPI dan MPI.NET. Selain ini, gw akan akan trainer bagaimana melakukan deploy aplikasi berbasis MPI ke dalam Windows HPC Server 2008. Kalau dilihat gambar diatas, materi MPI itu dilaksanakan pada Day 2 tetapi sebenarnya dilaksanakan di Day 3. Gw geseran schedule dengan bos Risman. Maklum sabtu ini gw sudah ada kelas juga di sekolah bahasa di FIB UI. Biar tidak terlalu menyulitkan ketika kuliah s3 di LN

Tags:

.NET | C/C++ | Grid Computing

About Agus Kurniawan

Agus Kurniawan

For more detail about me click here [V]

Please entry your name into my guestbook [V]

If you want to contact me, please go here [V]

Go here for my professional services [V]

My Books

Python and SQL Server Development 

Digi XBee3 Zigbee 3 Development Workshop  Microchip MPLAB Xpress Development Workshop

DFRobot Romeo V2 Development Workshop  Getting Started with Coral Dev Board

Arduino Sketch for ESP8266 Development Workshop  Internet of Things Projects with ESP32

Teensy LC Development Workshop  Arduino Sketch for STM8 Development Workshop

Sigfox Development with SiPy, LoPy4, FiPy  Sigfox Development with STM32 B-L072Z-LRWAN1

Arduino Sketch for STM32 Development Workshop  Arduino MKR ZERO Development Workshop

Administering and Developing Azure SQL Database  Pycom WiPy 3.0 Development Workshop

Getting Started with Ubuntu Core for Raspberry Pi 3  Practical Kotlin Programming

Arduino Sketch for ESP32 Development Workshop  Building Wireless Sensor Networks with ESP32 LoRa

Getting Started with ACKme Mackerel AMW004 Development  NodeMCU for ESP32 Development Workshop 

Arduino MKR WIFI 1010 Development Workshop  IOIO-OTG Development Workshop

MicroPython for STM32 Nucleo Technical Workshop  STM32 Nucleo-32 Development Workshop

Learn CloudFormation  SparkFun nRF52832 Development Workshop

LinkIt Smart 7688 and LinkIt Smart 7688 Duo Development Workshop  CircuitPython Development Workshop

MicroPython for BBC micro:bit Technical Workshop  RedBear Blend v2 Development Workshop

Realtek Ameba RTL8195 Technical Workshop  Practical Contiki-NG: Programming for Wireless Sensor Networks

ESPectro32 Technical Workshop STEMTera Development Workshop

BeagleBone Black Wireless Technical Workshop Arduino MKR GSM 1400 Development Workshop

Dragino LoRa Development Workshop Learning AWS IoT

Tessel 2 Development Workshop Raspberry Pi Compute Module 3 Technical Workshop

Vue.js Programming by Example Administering and Developing SQL Server 2017 for Linux

Arduino MKRFOX1200 Development Workshop  Intelligent IoT Projects in 7 Days

Teensy Development Workshop Teensy 3.5 and Teensy 3.6 Boards Edition OpenMV Development Workshop

ESPresso Lite V2.0 Development Workshop  MicroPython for ESP32 Development Workshop

Arduino FIO Development Workshop  Getting Started with Android Things for Raspberry Pi 3

Pycom WiPy 2.0 Development Workshop  XBee ZigBee Development Workshop

SparkFun ESP32 Thing Development Workshop Getting Started With BBC micro:bit

Getting Started With Raspberry Pi Zero W Espruino Pico Development Workshop

Getting Started with ASP.NET Core for OS X, Linux, and Windows  Arduino TIAN Development Workshop

SimpleLink Wi-Fi CC3200 LaunchPad Development Workshop  MicroPython for ESP8266 Development Workshop

Smart Internet of Things Projects  Arduino UNO WiFi Development Workshop

XBee Wi-Fi development workshop SparkFun Simblee BLE Development Workshop

Mengenal Microsoft Azure ML Getting Started with Windows 10 IoT Core for Raspberry Pi 3

Arduino and Genuino Zero Development Workshop Go and SQL Server Programming By Example

Arduino and Genuino MKR1000 Development Workshop  Mengenal Microsoft Azure IoT

Getting Started with Raspberry Pi 3 PHP and PostgreSQL Programming By Example

Arduino and Genuino 101 Development Workshop Getting Started with Raspberry Pi Zero

Getting Started with Arduino Wiring for Windows 10 IoT Core Getting Started with Wolfram Language and Mathematica for Raspberry Pi

Arduino Uno: A Hands-On Guide for Beginner Arduino Leonardo and Arduino Micro: A Hands-On Guide for Beginner

RedBearLab CC3200 Development Workshop The Photon Kit Development Workshop

Python Programming by Example Raspberry Pi LED Blueprints

Bluno Beetle Development Workshop BeagleBone Black Programming using Matlab

Arduino Programming using MATLAB Digispark USB Development Workshop

Near Field Communication (NFC) for Embedded Applications Arduino Development for OSX and iOS

SparkFun ESP8266 Thing Development Workshop Teensy Development Workshop

Getting Started with Windows 10 for Raspberry 2 NodeMCU Development Workshop

Getting Started with ASP.NET 5 for OS X, Linux, and Windows Getting Started with Windows Remote Arduino

Redis Programming by Example The Hands-on ARM mbed Development Lab Manual

Getting Started With STM32 Nucleo Development Getting Started with Windows IoT and Intel Galileo

Learning C by Example Getting Started with Raspberry Pi 2

Getting Started with Arduino and Go The Hands-on Arduino Yún Manual Lab

The Hands-on MEAN Lab Manual, Volume 1 Go Programming by Example

Getting Started with Scratch for pcDuino Raspberry Pi Wireless Networks

BeagleBone Black Programming by Example Database Programming Using R

Learning R in 120 Minutes The Hands-on Intel Edison Manual Lab

Getting Started with pcDuino3 TI ARM Cortex-M LaunchPad Programming by Example

Raspberry Pi I/O Programming using Python Getting Started with Intel IoT and Intel Galileo

Pemrograman Java Tingkat Lanjut PHP and MongoDB Programming By Example

ASP.NET SignalR Programming By Example KnockoutJS Programming by Example

Getting Started with Java ME Embedded 8 and Raspberry Pi XBee IEEE 802.15.4 Programming

Raspberry Pi System Programming for Beginner Backbone.js Programming By Example

PHP and SQL Server Programming By Example AngularJS Programming by Example

jQuery Programming by Example Getting Started with Arduino and Ruby

Raspberry Pi Command Line for Beginner Getting Started with Arduino and Python

MSP430 LaunchPad Programming TypeScript Programming by Example

Getting Started with Matlab Simulink and Arduino SQL Server for Node.js

Pocket Reference: Netduino for Beginner Database Programming using Matlab

Pocket Reference: Basic Sensors in Windows 8 Getting Started with Matlab Simulink and Raspberry Pi

Getting Started with Arduino and Java  Pocket Reference: Raspberry Pi Programming

Getting Started with Arduino and Matlab Getting Started with Arduino and .NET

Pocket Reference: Raspberry Pi Getting Started with Arduino and Node.js

MongoDB for VB.NET Panduan Praktis Windows Azure

Network Forensics: Panduan Analisis Dan Investigasi Paket Data Jaringan Menggunakan Wireshark Object-Relational Mapping (ORM): MongoDB, Mongoosejs and Node.js By Example

Nodejs Programming by Example MongoDB for by Example

Pemrograman Parallel Dengan MPI dan C Panduan Lengkap iPad 2 Untuk Pemula

Pemrograman Jaringan Dengan Java Aplikasi Pilihan iPad Untuk Anak-Anak

Buku lainnya [V]

Agus Kurniawan is Microsoft MVP (Most Valuable Professional)

Agus Kurniawan- Github Profile

Agus Kurniawan- Codeplex Profile

Follow Me

Follow agusk2010 on Twitter

Month List