NVIDIA® PhysX™ dan CUDA™ adalah sebuah MahaKarya (jika bisa saya bilang begitu) dari para developers Nvidia, yang keduanya merupakan alat optimasi untuk meningkatkan kinerja hardware dari Nvidia, khususnya pada optimasi kinerja GPU (Graphic Processing Unit).
Graphic Processing Unit sendiri merupakan sebuah alat/hardware, yang berfungsi sebagai render grafis terdedikasi dalam kesatuan sistem hardware PC atau Notebook. GPU bisa berada pada Video Card khusus (VGA Card) atau terintegrasi dalam Motherboard berupa Integrated GPU.
GPU berfungsi untuk mengolah dan memanipulasi grafis pada CPU (Central Processing Unit), untuk nantinya ditampilkan dalam bentuk Visual Grafis pada Monitor (output).
Dalam kaitan dengan PhysX dan CUDA pada GPU keluaran Nvidia. Para Developers Nvidia secara simultan menyusun alat-alat khusus, baik berupa software, dan alogaritma dalam perhitungan tertentu, untuk meningkatkan Performa Grafis dari GPU Nvidia yang ada.
Pada dasarnya, PhysX dan CUDA adalah alat/tools yang berbeda, namun dapat bekerjasama dengan baik sebagai optimator grafis GPU Nvidia. PhysX lebih meng-khususkan diri pada optimasi sektor grafis, sedangkan CUDA kepada lebih banyak sektor (termasuk juga sektor grafis, yang bisa dikombinasikan dengan optimasi grafis PhysX).
======================================================
A. PhysX
PhysX adalah proprietary (closed source) realtime >physics engine< middleware SDK, yang dikembangkan oleh NVIDIA (aslinya oleh AGEIA), untuk mengakselerasi performa PhysX-enabled Video Games.
PhysX sendiri diklaim merupakan “Physics Engine” yang powerfull, sehingga telah di”adopsi” oleh lebih dari 150 Games, digunakan oleh lebih dari 10.000 pengguna (yang terdaftar), dan telah disupport oleh Sony Playstation 3, Xbox 360, Nintendo Wii, serta PC.
Video Games yang telah mendukung/support akselerasi hardware oleh PhysX dapat diakselerasi performa grafisnya, baik oleh PhysX, maupun CUDA-enabled GeForce GPU secara bersamaan.
Akhirnya, perhitungan “physics” dari CPU menjadi lebih cepat, yang kemudian mengijinkan seluruh sistem mampu menyediakan “framerate” yang lebih cepat, sehingga menghasilkan pengalaman gaming yang lebih halus.
Sebagai tambahan, PhysX telah didesain secara spesifik untuk akselerasi hardware dari Processor yang powerful dengan ratusan core (inti). Dikombinasikan dengan kemampuan proses yang luar biasa dari GPU. PhysX akan menyediakan peningkatan eksponensial (perkalian berulang) pada kekuatan proses “physics”.
Peningkatan ini akan membawa kita pada level baru bermain game, yang lebih kaya, “membenamkan” kita lebih dalam pada lingkungan game dengan fitur-fitur:
- Ledakan yang menghasilkan debu dan reruntuhan.
- Karakter yang lebih kompleks secara geometris, untuk gerakan dan interaksi yang lebih hidup.
- Senjata-senjata baru yang spektakuler, dengan efek yang luar biasa.
- Pakaian yang “jatuh” dengan lipatan-lipatan yang lebih natural.
- Kabut dan asap tebal yang tersapu/terkibas disekitar objek yang bergerak.

Agar lebih mudah memahami cara kerja PysX, kita perlu memahami perbedaan “Graphic Processing” (proses grafis) dengan “Physics Processing” (proses physics).
Proses grafis yang dilakukan oleh GPU berlaku secara umum terhadap seluruh pengolahan dan manipulasi grafis yang diperintahkan oleh CPU. Hal ini berarti semua visual grafis yang bisa kita lihat dalam output di monitor, berasal dari proses grafis/Graphic Processing.
Sedangkan proses physics adalah proses simulasi fisika, yang mensimulasikan model fisika dari Newton menggunakan varibel berupa masa, kecepatan, pergesekan, serta tahanan angin.
Proses physics yang diakomodir oleh Physics Engine (seperti PhysX dalam GPU Nvidia), dapat mensimulasi dan memprediksi efek-efek dalam berbagai kondisi pada dunia fantasi, agar dapat menyerupai kondisi real pada dunia nyata. Proses ini biasanya dilakukan pada simulasi ilmiah dan dalam video games.
PRINSIP KERJA PHYSICS ENGINE:
Pada game-game terdahulu (tanpa physics engine), gerakan objek dalam game dilakukan secara langsung, dengan mengubah posisi objek tersebut. Dengan physisc engine, objek tidak lagi digerakkan secara langsung, tetapi dispesifikasikan berdasarkan force berdasarkan input dari pemain, dalam setiap loop pada setiap objek dalam game.
Physics engine bertugas untuk menghitung perkiraan posisi dan orientasi selanjutnya dari objek tersebut.
Ada dua proses utama dalam Physics Engine; yang pertama adalah melakukan “collision detection”. Output dari modul ini kemudian diberikan pada komponen kedua, yaitu “simulation system” (sering disebut “integrator”), untuk melakukan perhitungan berdasarkan rumus fisika. Simulation system kemudian akan memberikan update properti dari objek yang disimulasikan.
==================================================
B. CUDA
CUDA adalah singkatan dari Compute-Unified-Device-Architecture. Secara sederhana, CUDA adalah kumpulan program-program yang menerjemahkan teks dalam bentuk bahasa komputer (computer language) berupa source language/source code, ke dalam bentuk bahasa komputer yang lain (target language/object code).
NVIDIA CUDA technology merupakan suatu lingkup bahasa pemrograman “C” yang membuka akses kekuatan prosesing dari GPU, untuk memecahkan hampir seluruh tantangan intensif dari komputasi / perhitungan yang kompleks dari proses GPU tersebut.
Nvidia GeForce 9100M G pada ACER Aspier 4530
merupakan GPU yang sudah suport arsitektur CUDA
Arsitektur CUDA memungkinkan GPU (yang telah support CUDA) menjadi arsitektur terbuka seperti layaknya CPU (Central Processing Unit a.k.a Processor). Hanya, tidak seperti CPU, GPU memiliki arsitektur banyak-inti yang pararel.
Setiap inti memiliki kemampuan untuk menjalankan ribuan “thread” secara simultan. Jika aplikasi yang dijalankan sesuai dengan arsitektur ini, GPU dapat menyediakan keuntungan yang lebih besar dari segi performa proses aplikasi tersebut.

KEUNGGULAN ARSITEKTUR CUDA:
- CUDA menggunakan bahasa “C” standar, dengan beberapa ekstensi yang simpel.
- Scattered writes (penyebaran penulisan) – kode dapat ditulis pada tujuan-tujuan yang tersebar dalam memori.
- Shared memory – CUDA menyingkapkan wilayah memory yang cepat (berukuran 16 KB) yang dapat di bagi diantara thread-thread yang ada. Hal ini dapat digunakan sebagai user-managed-cache, sehingga mengaktifkan bandwitdth yang lebih besar (dari besaran bandwidth yang dimungkinkan), menggunakan texture loops.
- Proses download dan readbacks yang lebih cepat, dari dan ke GPU.
- Support penuh terhadap operasi integer dan bitwise.
Keterbatasan CUDA (terutama di sektor grafis) adalah; CUDA tidak support texture rendering, Bus Bandwidth dan latensi antara CPU dengan GPU bisa jadi bottleneck (tidak imbang), serta CUDA hanya terdapat pada GPU Nvidia
NVIDIA’s CUDA development tools terbagi atas 3 komponen kunci yaitu:
1. CUDA driver
2. A complete CUDA toolkit
3. CUDA SDK code samples
CUDA Toolkit adalah pengembangan lingkunan bahasa “C” untuk CUDA-enabled GPU. Ruang lingkup pengembangan CUDA termasuk:
- NVCC “C” compiler
- CUDA FFT and BLAS libraries for the GPU* Profiler* gdb debugger for the GPU
- CUDA runtime driver (also available in the standard NVIDIA GPU driver)
- CUDA programming manual
Sedangkan contoh kode CUDA SDK adalah contoh source code yang dikembangkan oleh para developer CUDA, untuk menolong kita dalam memulai penggunaan CUDA. Contoh kode CUDA SDK termasuk:
- Parallel bitonic sort
- Matrix multiplication
- Matrix transpose
- Performance profiling using timers
- Parallel prefix sum (scan) of large arrays
- Image convolution
- 1D DWT using Haar wavelet
- OpenGL and Direct3D graphics interoperation examples
- CUDA BLAS and FFT library usage examples
- CPU-GPU C- and C++-code integration
- Binomial Option Pricing
- Black-Scholes Option Pricing
- Monte-Carlo Option Pricing
- Parallel Mersenne Twister (random number generation)
- Parallel Histogram
- Image Denoising
- Sobel Edge Detection Filter
Dengan pembahasan di atas, kita dapat mengetahui bahwa baik PhysX maupun CUDA memang merupakan alat optimasi GPU untuk performa yang lebih prima. Keduanya murni merupakan software / alogaritma / source code / dan bukan perangkat keras (hardware tambahan).
Tapi tetap saja, keduanya merupakan sebuah (lagi-lagi saya sebut) mahakarya dari para developers Nvidia (juga AGEIA) yang sangat cemerlang.
Dengan menggabungkan kedua fitur tersebut, GPU Nvidia yang sudah support PhysX dan CUDA bisa mendapatkan performa terbaiknya sebagai sebuah Graphic Processing Unit yang powerfull. Akhirnya, kita sebagai pelanggan yang diuntungkan.
(wah kayak iklan aja, hehe
)
Dompet tetap terjaga tapi performa akan terus meningkat seiring terus berkembang dan semakin barunya PhysX dan CUDA yang disediakan.
Selain itu, jika menginginkan performa grafis yang lebih memuaskan, kocek memang harus digali lebih dalam. Harga mungkin tidak pernah berbohong, tapi kita bisa “bermain cerdas” atas kecerdasan para developers Nvidia bukan? ![]()
—————————————————-
credit: thanks to "URAY" for the definitions of: "Prinsip Kerja Physics Engine"


Pap, pake driver versi brp di lappie tercinta? ud intergrated PhysX n CUDA nya lon? share link yah… thx b4
mas, aq udah istall driver phisix tapi pas aq masuk kontrol panel n masuk phisx ada tulisannya “no AEGIA phisx procesor intalled, ama di tab setting yang tercawang cuma bagian no acceleration, yang 2 cawanggan bawahnya ga bisa, kenapa mas ya, apa karena ram sya masih standard, n windows saya masih xp sp3, mohon penjelasannya!!! trimakasih, oh iya btw nih nama asli “oktaviano” add ym dong biar aq bisa tanya2, penasaran banget ma nih leppy, udah murah bisa dikembangin. “orp822004009@yahoo.co.id” trims ya mas
give applause deh buat tetangga gw ini, tulisanya berat semua! keep spirit ya bro bloggingnya….!!!!
woow…saluut lagi dah buwat brur Don..
Tulisan kali ini mayan menggigit…
Keep posting!
terus dapet itu software dari mana bro?
gaptek nih
thx
wah tulisannya ok nih mas don..
saya udah coba semua jurus2 yang mas don buat (termasuk yang di kaskus), dan saya sudah install juga si cuda + physx, tapi ada pertanyaan nih mas:
kalo udah di install apa semua program tersebut langsung kerja atau harus ada langkah berikutnya soalnya pas buka cuda kan banyak tuh pilihannya (saya ga ngerti) apa harus di run dulu semuanya atau gmana..
maaf nih nanya melulu hehehe…
Komputerku masih jadul
kayaknya kalo diganti kaya gitu bisa mantabzzz….
kapan ya???
Nice blog… emang deh Papatome paling oke.. tar saya coba ah CUDA n Phsyx nya…
mo tanya nih bro,gw kan dah install 178.08,cuda,sma physx engine.
perlu install physx sdk jga engga sih?
thanks buat papatome atas tutorialnya yg very helpfull:)
dah install physx tp kq ada tulisan
“No AGEIA PhysX Processor Installed”
trus di settingnya yg bs dicentang cm no acceleration,
bawahe not available smua..
ada yg tau solusinya ??
thanks thanks thanks
nice inpoh gan!…
nah pertanyaanya kalau buat folding gimana,
otomatis kah bekerja atau gimana,
maklum nih pake GTX buat 3dmax + sketchup
8600m GS cuda version 2.0 bisa ngak ….terus tahapan/cara install CUDA & Physx?
mas mau tanya..aku kan baru beli ni laptop trus setelah ku install cuda nya nvidia nya tidak mau, trus bagaimana?
minta settingan Profillnya donk supaya processor n GPUnya maksimum…masa gw pake 3dmax06 cuma sampe 900n ga bisa lebih.. paling tinggi, scorenya 973
trz masalah suhu.. ada ga c software buat laptop gw buat nurunin suhu..
soalnya suhu GPU gw bisa sampe 129 C
lappie gw acer 4530 dgn memory 2,5 GB..
mas donny..leppieku 4530..tapi di situs nvidia katana 9100m g punyaku ga support PhsyX..hix2..ada ide ga..?
ato pasrah aja dengan CUDA..
mas..aku uda install cuda..tapi makenya bwt game tu gimana ik..?..skrg lg maen nfs Undercover ma COD World at war..lepiku 4530 jg..
thx b4..
mas..carana make cda bwt game tu gmn ik?.. ak lg maen nfs undercover ma COD World at War..kasih contohnya dong..pliss..tq..
woyyy, lappie gw tambah panas nichhh
tadi gw paksa maenin DMC 4,,,trz pas gw test pke 3dmark tiba2 langsung mati sendiri,,,
panasnnya minntaa ampuun dah…
sampe 250 drjat
gimana lage nich??
mas,,gmana yah cara make physx ma cuda di acer 4530??ap perlu install driver tambahan??kalo iya downloadnya dimana??kalo ga gimana cara ngaktifinnya yah??
Mas, driver nvdia 177 support Physx ga? Soalnya aku cari2 link donlot driver nvdia 178 ga nemu2. Kalo ada, bisa minta link donlotnya? Tapi aku coba pake yg 177 dulu deh, sapa tau bisa.
Thanks.
Eh udah nemu link donlotnya, untuk driver + CUDA disini http://www.nvidia.com/object/cuda_get.html trus Physx nya disini http://www.nvidia.com/object/physx_8.09.04_whql.html
Thanks mas, tak coba dulu.