Rabu, 31 Oktober 2012

Message Passing Interface (MPI)

MPI is a specification for the developers and users of message passing libraries. By itself, it is NOT a library - but rather the specification of what such a library should be.
Simply stated, the goal of the Message Passing Interface is to provide a widely used standard for writing message passing programs. The interface attempts to be
  • practical
  • portable
  • efficient
  • flexible
Reasons for Using MPI:

  • Standardization - MPI is the only message passing library which can be considered a standard. It is supported on virtually all HPC platforms. Practically, it has replaced all previous message passing libraries.
  • Portability - There is no need to modify your source code when you port your application to a different platform that supports (and is compliant with) the MPI standard.
  • Performance Opportunities - Vendor implementations should be able to exploit native hardware features to optimize performance. 
  • Functionality - Over 115 routines are defined in MPI-1 alone.
  • Availability - A variety of implementations are available, both vendor and public domain.

Parallel Computing

Parallel Computing is the simultaneous use of multiple compute resources to solve a computational problem :
  • To be run using multiple CPUs
  • A problem is broken into discrete parts that can be solved concurrently
  • Each part is further broken down to a series of instructions
  • Instructions from each part execute simultaneously on different CPUs
  • The compute resources might be:
    • A single computer with multiple processors;
    • An arbitrary number of computers connected by a network;
    • A combination of both.
  • The computational problem should be able to:
    • Be broken apart into discrete pieces of work that can be solved simultaneously;
    • Execute multiple program instructions at any moment in time;
    • Be solved in less time with multiple compute resources than with a single compute resource.
Parallel computing is an evolution of serial computing that attempts to emulate what has always been the state of affairs in the natural world: many complex, interrelated events happening at the same time, yet within a sequence.

Main reason using parallel computing :
  1. Save time and/or money.
  2. Solve larger problems.
  3. Provide concurrency.
  4. Use of non-local resources.
  5. Limits to serial computing.
Type of parallel computer based on Flynn's Classical Taxonomy :
  1. Single Instruction Multiple Data (SIMD)
  2. Multiple Instruction Single Data (MISD)
  3. Multiple Instruction Multiple Data (MIMD)
Parallel Computer Memory Architectures :
  1. Shared memory
  2. Diatributed memory
  3. Hybrid distributed-shared memory

Source : Introduction to Parallel Computing, Author: Blaise Barney, Lawrence Livermore National Laboratory

Rabu, 24 Oktober 2012

3D Studio Max


S
uka kah kamu dengan film-film berbasis 3D  seperti Toy Story, Up, Despicable Me, dan Bug’s Life? Tak hanya anak-anak yang menyukai film animasi 3D ini, bahkan orang dewasa pun menyukainya hingga bisa menonton sampai berkali-kali. Ini dikarenakan film-film tersebut sangat menghibur dan dapat menghilangkan stress pada saat weekend setelah seminggu bekerja keras. Film-film 3D ini adal ah hasil dari proses manipulasi gambar visual secara digital, lalu di buat bergerak atau menjadi animasi.
Banyak software-software yang mendukung pengolahan gambar 3D ini. Dari yang open source, yaitu Blender, ataupun yang berbayar seperti 3ds Max. Kali ini kami akan membahas tentang 3ds Max beserta fitur-fiturnya. Silahkan disimak J

3D Studio Max (3ds Max)  atau biasa dikenal dengan 3D Max adalah suatu software (Perangkat lunak) untuk membuat sebuah grafik vektor 3 dimensi dan animasi. Dikembangkan  oleh Autodesk Media & Entertainment, yang dulunya dikenal sebagai Discreet and Kinetix. Para desain grafis banyak menggunakan software ini untuk membuat sebuah film animasi, arsitektur rumah, ataupun membuat logo suatu perusahaan. Untuk menjalankan aplikasi ini dibutuhkan spesifikasi komputer yang cukup tinggi agar mendapat kenyamanan saat menggunakannya. Ini dikarenakan banyak proses yang membutuhkan grafik yang tinggi untuk melakukan rendering dan sebagainya.
Fitur-fitur 3ds Max :
1.      Fitur untuk membuat model organic dan unorganic.
Model organic dapat berupa karakter model makhluk hidup nyata seperti manusia, hewan. Dan model makhluk hidup yang tidak nyata (khayalan) seperti monster, peri, dan lain-lain. Model unorganic dapat berupa model objek-objek benda mati seperti mesin, bangunan, mobil, sepeda motor, furniture, dan lain-lain.
Pada 3ds max feature yang digunakan untuk membuat model organic umumnya dengan menggunakan teknik Polygonal modeling dan NURBS modeling. Teknik Polygonal modeling adalah teknik membuat model dengan memakai objek-objek geometry dasar yang kemudian dikembangkan menjadi objek model yang lebih kompleks. Umumnya memakai bentuk objek geometry box (kotak) yang kemudian dihaluskan lagi permukaannya (smooth). Sedangkan teknik NURBS modeling adalah teknik membuat model dengan memakai garis-garis yang dibuat seperti rangka objek yang diinginkan kemudian diberi surface (bentuk permukaan).
Model unorganic umumnya dibuat dengan menggunakan teknik Compound modeling dan Spline modeling (dapat juga dengan menggunakan teknik Polygonal Modeling). Teknik Compound modeling adalah teknik membuat model dengan mengkombinasikan (menggabungkan, memotong atau mengambil perpotongan) antar bentuk objek-objek geometry. Sedangkan teknik Spline modeling adalah teknik membuat model dengan membuat bentuk objek 2d-nya terlebih dahulu yang kemudian “ditransfer” menjadi bentuk 3d dengan memberikan ketebalan pada objek 2d tersebut.

2.    Fitur untuk memberikan rangka pada objek karakter 3d yang telah dibuat, sehingga karakter 3d tersebut dapat bergerak seperti layaknya manusia. Ada 2 teknik yang dapat dilakukan, yaitu dengan teknik Bone dan teknik Biped. Teknik Bone adalah dengan membuat tulang secara satu-persatu yang kemudian dihubungkan antar masing-masing tulang yang saling berhubungan. Sedangkan teknik Bipel memungkinkan untuk membuat tulang yang telah terintegrasi menjadi satu kesatuan rangka yang utuh, sehingga tidak perlu lagi menghubungkan satu-persatu.

3.    Fitur membuat tekstur real dan tekstur kartun. Objek 3D yang dibuat dapat diberikan tekstur yang realistik sehingga terlihat nyata atau berupa tekstur kartun. Tekstur real adalah memberikan tekstur yang sebenarnya sesuai dengan sifat dan karakteristik permukaan suatu objek atau benda, sehingga akan diperoleh hasil yang tampak asli dan nyata. Fitur yang digunakan dengan menggunakan material standard. Sedangkan tekstur kartun adalah memberikan tekstur seperti kartun, yang warnanya cerah dan terang. Fitur yang digunakan adalah material Ink’npaint.

4.     Fitur membuat efek-efek api, asap (fire effect), kabut (fog), pendar cahaya (volume light), dan lain-lain. Efek-efek ini dapat diterapkan dengan memakai feature effect dan environment effect.

5.    Fitur membuat efek-efek yang terjadi bila mata/kamera melihat objek bergerak, misalnya efek motion blur dan depth of field (dof). Efek motion blur adalah efek bagaimana mata kita atau lensa kamera menangkap gambar objek yang bergerak yang memperlihatkan bias (blur) pergerakannya. Dof adalah efek bagaimana bila mata kita atau lensa kamera focus melihat satu objek, maka objek-objek di sekitarnya pasti akan menjadi tidak fokus (blur). Pemberian efek-efek ini tentu akan memberikan kesan yang semakin tampak realistis.

6.     Fitur untuk membuat efek-efek sinar cahaya. Efek-efek tersebut dapat berupa cahaya matahari, sunset, dan lain-lain  yang tentunya akan semakin memperkaya dan mempercantik desain 3D yang dibuat. Untuk membuatnya dapat memakai fitur effect.

7.   Fitur untuk membuat objek-objek bulu, rumput, dan lain-lain. Objek-objek ini memerlukan fitur aplikasi khusus yaitu fitur Hair & Fur.

8.    Fitur untuk membuat objek kain atau baju. Fitur yang digunakan adalah Cloth Simulation. Dengan fitur ini dapat membuat kain atau baju dengan lebih natural dan realistik, menyerupai dengan sifat baju/kain seperti dalam kondisi real/nyata.

9.    Fitur untuk membuat objek-objek liquid/cairan. Aplikasinya banyak ditujukan untuk membuat environment, seperti environment (panorama) di sungai, laut, kolam, dan lain-lain. Sama halnya seperti pembuatan objek bulu, objek liquid memerlukan tingkat kekompleksan yang sangat khusus, karena object ini sangat berat “dibaca” oleh komputer, apalagi bila tingkat akurasi liquisnya tinggi. Fitur yang dipergunakan adalah Meta Particle dan BlobMesh.

1   Fitur yang membuat cahaya yang realistis. Cahaya yang tampak realistis adalah cahaya yang memantul dan menyebar ke segala arah, sesuai dengan arah pantulan objeknya. Fitur yang dipakai adalah Global Illumination dengan beragam teknik, seperti Light Tracer, Radiosity atau MentalRay.

1    Fitur untuk membuat animasi dinamis. Banyak diaplikasikan untuk membuat animasi objek-objek yang saling bertubrukan/tabrakan, berbenturan, pecah, dan lain-lain. Tidak hanya dapat diterapkan untuk benda-benda (objek) solid/keras (rigid), tetapi dapat juga diterapkan untuk benda-benda lunak(soft), kain (cloth), tali (rope), dan lainnya.