<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Uqi`s Life Note &#187; GPGPU</title>
	<atom:link href="http://ismailfaruqi.jepang.info/category/teknologi-informasi/gpgpu/id/feed/id/" rel="self" type="application/rss+xml" />
	<link>http://ismailfaruqi.jepang.info</link>
	<description></description>
	<pubDate>Mon, 09 Mar 2009 01:47:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>id</language>
			<item>
		<title>Kecepatan Transfer Memori CUDA</title>
		<link>http://ismailfaruqi.jepang.info/2009/03/09/kecepatan-transfer-memori-cuda/id/</link>
		<comments>http://ismailfaruqi.jepang.info/2009/03/09/kecepatan-transfer-memori-cuda/id/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 01:44:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[GPGPU]]></category>

		<category><![CDATA[cepat]]></category>

		<category><![CDATA[cuda]]></category>

		<category><![CDATA[transfer memori]]></category>

		<guid isPermaLink="false">http://ismailfaruqi.jepang.info/?p=163</guid>
		<description><![CDATA[Salah satu tahap yang wajib dilakukan ketika membangun program CUDA adalah transfer memori. Ini penting diperhatikan karena transfer memori memakan sebagian besar waktu eksekusi program. Oleh karena itu, bagaimana mempercepat transfer memori adalah teknik yang wajib dikuasai dalam membangun program CUDA.]]></description>
			<content:encoded><![CDATA[<p>Salah satu tahap yang wajib dilakukan ketika membangun program CUDA adalah transfer memori. Untuk program yang berjalan di bawah 1 detik, kecepatan ini penting diperhatikan karena kemungkinan transfer memori memakan sebagian besar (&gt;70%) waktu eksekusi program. Meskipun demikian, transfer memori juga penting untuk data berukuran besar di atas 512 MB. Oleh karena itu, bagaimana mempercepat transfer memori adalah teknik yang wajib dikuasai dalam membangun program CUDA.Â  Berikut ini adalah 3 tips untuk mempercepat transfer memori dalam program CUDA.</p>
<h3>Gunakan Page-locked Memory</h3>
<p>Mentransfer page-locked memory dapat mempersingkat kecepatan transfer memori secara signifikan. Pada GPU GeForce 8600M GT, mentransfer 32MB data memakan waktu 300 ms (page-free memory) vs 26 ms (page-locked memory). Dengan kata lain, kecepatan transfer memori meningkat ~14x lipat.</p>
<p>Hal yang perlu diperhatikan adalah menggunakan page-locked memory dapat menurunkan performa sistem. Namun untuk data yang berukuran kecil pada sistem dengan memori besar, sepertinya tidak ada masalah. Bahkan untuk Tesla C1060 dengan memori 4GB, sepertinya tidak ada masalah apabila memori sebesar itu di-<em>page lock</em> pada sistem dengan RAM 16GB.</p>
<p>Untuk melakukan page-lock, gunakan fungsi <em>CudaMallocHost()</em> sebagai ganti <em>malloc()</em> dan <em>CudaFreeHost()</em> sebagai ganti <em>free()</em>.</p>
<h3>Gunakan GPU yang Lebih Cepat</h3>
<p>GPU yang lebih cepat memiliki waktu transfer memori yang lebih singkat pula. Sebagai contoh perbandingan GPU Laptop GeForce 8600M GT dengan GPU Desktop GeForce 8800 GTX dalam mentransfer data sebesar 32MB. Transfer memori host -&gt; device adalah 600 MB/s vs 1,3 GB/s. Transfer memori device -&gt; host adalah 400 MB/s vs 1,3 GB/s. Transfer memori device-&gt;device adalah 11 GB/s vs 70 GB/s. Oleh karena itu, apabila mungkin gunakan GPU terbaik yang anda miliki.</p>
<h3>Lakukan Transfer Memori Sekali</h3>
<p>Sebisa mungkin, lakukan transfer memori sekali saja karena transfer memori itu &#8220;boros waktu&#8221;. Contohnya, apabila melakukan copy sebuah list dari CPU ke GPU, lebih baik menuliskan elemen listnya dalam sebuah array, lalu melakukan copy satu kali, dibandingkan melakukan copy elemen list berkali-kali.</p>
<p>Demikian pojok CUDA kali ini, happy programming dan jangan lupa koreksinya! ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://ismailfaruqi.jepang.info/2009/03/09/kecepatan-transfer-memori-cuda/id/feed/id/</wfw:commentRss>
		</item>
		<item>
		<title>CPU vs GPU</title>
		<link>http://ismailfaruqi.jepang.info/2007/05/26/cpu-vs-gpu/id/</link>
		<comments>http://ismailfaruqi.jepang.info/2007/05/26/cpu-vs-gpu/id/#comments</comments>
		<pubDate>Sat, 26 May 2007 13:09:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[GPGPU]]></category>

		<category><![CDATA[Iseng]]></category>

		<guid isPermaLink="false">http://ismailfaruqi.wordpress.com/2007/05/26/cpu-vs-gpu/</guid>
		<description><![CDATA[Akhir-akhir ini saya aktif mempelajari GPGPU (General Purpose Computation on Graphics Processing Unit). Dari artinya sudah jelas: Bidang ini mempelajari bagaimana memindahkan komputasi yang sarat dengan perhitungan dari CPU ke GPU. GPU sendiri adalah istilah baru untuk VGA card, dinamai begitu karena ia melakukan komputasi secara terpisah dari CPU. Nah, saya mau bagi-bagi hasil eksplorasi [...]]]></description>
			<content:encoded><![CDATA[<p>Akhir-akhir ini saya aktif mempelajari GPGPU (<em>General Purpose Computation on Graphics Processing Unit</em>). Dari artinya sudah jelas: Bidang ini mempelajari bagaimana memindahkan komputasi yang sarat dengan perhitungan dari CPU ke GPU. GPU sendiri adalah istilah baru untuk VGA card, dinamai begitu karena ia melakukan komputasi secara terpisah dari CPU. Nah, saya mau bagi-bagi hasil eksplorasi saya ke teman-teman semua (iseng mode, <strong>ON!</strong>).</p>
<p><span id="more-46"></span><strong>Background</strong><br />
GPU mengalami peningkatan performa yang luar biasa. Floating Point Operations per Second (FLOPS)-nya tumbuh 1,5x lebih cepat dibanding hukum Moore. Hari ini, sebuah 8800GTX memiliki peak performance sebesar 300 GFLOPS, 6x lebih besar dibandingkan prosesor Core 2 Duo dengan harga yang sama. Tergiur dengan besarnya performa yang ditawarkan dibanding harga yang harus dikeluarkan (FLOPS / $), para peneliti mulai mencari cara untuk mengakselerasi komputasi dengan memindahkan eksekusi program dari CPU ke GPU.</p>
<p align="center"><a href="http://ismailfaruqi.jepang.info/wp-content/uploads/2007/05/9077.jpg" title="8800 GTX"><img src="http://ismailfaruqi.files.wordpress.com/2007/05/9077.thumbnail.jpg" alt="8800 GTX" /></a><br />
<strong>Gambar 1</strong>: Sebuah 8800 GTX. <em>Need a beefy power supply to run</em>.</p>
<p><strong>Persamaan CPU dan GPU</strong><br />
Kalau sekarang ya sama-sama <em>multi-core</em>, sehingga bisa dipakai untuk pemrograman paralel.</p>
<p align="center"> <a href="http://ismailfaruqi.jepang.info/wp-content/uploads/2007/05/presler.jpg" title="Core 2 Duo"><img src="http://ismailfaruqi.files.wordpress.com/2007/05/presler.thumbnail.jpg" alt="Core 2 Duo" /></a><br />
<strong>Gambar 2</strong>: Sebuah  Core 2 Duo. Kelihatan ada dua prosesor kan?</p>
<p align="left"><strong>Perbedaan CPU dan GPU</strong></p>
<ol>
<li>Jumlah <em>core</em>-nya. CPU itu (yang banyak beredar) baru <em>dual core </em>atau <em>quad core, </em>sedangkan GPU sekarang udah 48 <em>core </em>(ATI X1950XTX) atau 128 <em>core </em>(nVidia 8800 GTX)</li>
<li>CPU itu setiap core-nya bisa ngejalanin <u>program yang berbeda</u>. Sedangkan GPU, walau punya banyak <em>core</em>, hanya dapat menjalankan <u>program yang sama</u>.</li>
<li>Paradigma pemrograman paralel pada CPU dan GPU berbeda. CPU menggunakan <em>instruction-based parallel programming</em>, sedangkan GPU menggunakan <em>data-based parallel programming</em>.</li>
</ol>
<p align="center"><a href="http://ismailfaruqi.jepang.info/wp-content/uploads/2007/05/000000f000396059.jpg" title="G80’s Multiprocessor"><img src="http://ismailfaruqi.jepang.info/wp-content/uploads/2007/05/000000f000396059.jpg" alt="G80’s Multiprocessor" /></a></p>
<p align="center"><strong>Gambar 3</strong>: Arsitektur 8800GTX. Yang warna ijo itu prosesornya. Banyak kan?</p>
<p><a href="http://ismailfaruqi.jepang.info/wp-content/uploads/2007/05/000000f000396059.jpg" title="G80’s Multiprocessor"></a><strong>Conclusion</strong></p>
<ol>
<li> Saya melihat ada persamaan antara processing unit dan jenis kelamin (what??). CPU itu lebih bersifat &#8220;wanita&#8221;, karena ia bisa mengerjakan jenis pekerjaan yang berbeda dalam satu waktu. Sementara GPU lebih bersifat &#8220;pria&#8221;, karena ia hanya dapat mengerjakan satu jenis pekerjaan dalam satu waktu (meskipun jauh lebih cepat dari CPU).</li>
<li>Walaupun kapasitas GPU untuk mengerjakan sesuatu sebagai &#8220;pria&#8221; jauh lebih tinggi daripada CPU, tetap saja CPU dibutuhkan untuk mengontrol GPU. Ini membenarkan ungkapan &#8220;wanita dijajah pria&#8230;&#8221;</li>
</ol>
<p><strong>Further Work</strong><br />
Hmm, apa ya?</p>
<ol>
<li>Melanjutkan eksplorasi lebih jauh.</li>
<li>Mengirimkan saran kepada ahli bahasa Arab, Jerman, Prancis dll, bahwa jenis kelamin CPU adalah &#8220;wanita&#8221; dan jenis kelamin GPU adalah &#8220;pria&#8221;. Bahasa-bahasa tersebut kan semua kata bendanya punya jenis kelamin, iya tidak?</li>
<li>Mengkaji lagi definisi &#8220;pria&#8221; dan &#8220;wanita&#8221;. Populernya konfigurasi SLI dan Crossfire (2 GPU dipasangkan dengan 1 CPU dalam satu motherboard yang sama untuk meningkatkan performa) berbahaya, karena bisa ditafsirkan &#8220;2 pria dan 1 wanita dalam rumah yang sama untuk meningkatkan performa&#8221;, hiii&#8230;
<p align="center"><a href="http://ismailfaruqi.jepang.info/wp-content/uploads/2007/05/quad-sli.jpg" title="SLI"><img src="http://ismailfaruqi.files.wordpress.com/2007/05/quad-sli.thumbnail.jpg" alt="SLI" /><br />
</a><strong>Gambar 4</strong>: Inilah konfigurasi SLI yang bermasalah itu. Lihat bahwa ada 2 GPU, dan 1 CPU dalam 1 mainboard.</p>
<p align="center">&nbsp;</p>
<p align="center"><a href="http://ismailfaruqi.jepang.info/wp-content/uploads/2007/05/gigabytega8nsliqualroyal-050920-06.jpg" title="Quad SLI"><img src="http://ismailfaruqi.files.wordpress.com/2007/05/gigabytega8nsliqualroyal-050920-06.thumbnail.jpg" alt="Quad SLI" /></a><br />
<strong>Gambar 5</strong>: OMG, <u><strong>Quad-SLI</strong></u>! Definisi pria-wanita untuk GPU dan CPU benar2 harus dikaji lagi.</li>
</ol>
<p>Nggak worthed banget ya hasil eksplorasinya? Maklum lagi bersimbah error dari pagi ampe sore, udah meracau pun nggak tau lagi mesti gimana&#8230; <img src='http://ismailfaruqi.jepang.info/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://ismailfaruqi.jepang.info/2007/05/26/cpu-vs-gpu/id/feed/id/</wfw:commentRss>
		</item>
	</channel>
</rss>

