<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Xử lý song song (CPU + GPU)</title>
	<atom:link href="http://fastgpu.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fastgpu.wordpress.com</link>
	<description>Giải pháp trên các kiến trúc đa lõi (CPU + GPU)</description>
	<lastBuildDate>Mon, 27 Sep 2010 10:01:38 +0000</lastBuildDate>
	<language>vi</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='fastgpu.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Xử lý song song (CPU + GPU)</title>
		<link>http://fastgpu.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://fastgpu.wordpress.com/osd.xml" title="Xử lý song song (CPU + GPU)" />
	<atom:link rel='hub' href='http://fastgpu.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Nhà mới</title>
		<link>http://fastgpu.wordpress.com/2009/09/02/nha-m%e1%bb%9bi/</link>
		<comments>http://fastgpu.wordpress.com/2009/09/02/nha-m%e1%bb%9bi/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 12:58:19 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Công bố]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/?p=321</guid>
		<description><![CDATA[Blog Xử lý Song song đã có nhà mới với băng thông rộng hơn, không gian lưu trữ to hơn tại địa chỉ http://parallel.fastviet.com. Từ giờ trở đi, mọi người qua nhà mới nhé. Các bài viết cũ ở đây sẽ được chuyển dần sang bên đó khi mình có thời gian. Cám ơn mọi người đã ghé thăm và [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=321&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Blog Xử lý Song song đã có nhà mới với băng thông rộng hơn, không gian lưu trữ to hơn tại địa chỉ <a href="http://parallel.fastviet.com" target="_blank">http://parallel.fastviet.com</a>. Từ giờ trở đi, mọi người qua nhà mới nhé. Các bài viết cũ ở đây sẽ được chuyển dần sang bên đó khi mình có thời gian.</p>
<p>Cám ơn mọi người đã ghé thăm và đọc bài ở đây trong thời gian vừa qua. Nhà mới sẽ tiếp tục là nơi chúng ta trao đổi nhiều hơn về xử lý song song trên CPU và GPU.</p>
<br />Posted in Công bố  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/321/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/321/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=321&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2009/09/02/nha-m%e1%bb%9bi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
		<item>
		<title>Môi trường phát triển đầu tiên cho OpenCL</title>
		<link>http://fastgpu.wordpress.com/2009/04/21/opencl_alpha_release/</link>
		<comments>http://fastgpu.wordpress.com/2009/04/21/opencl_alpha_release/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 04:10:16 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Công bố]]></category>
		<category><![CDATA[Công cụ lập trình]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[lập trình song song]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[OpenCL]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/2009/04/21/moi-tr%c6%b0%e1%bb%9dng-phat-tri%e1%bb%83n-d%e1%ba%a7u-tien-cho-opencl/</guid>
		<description><![CDATA[Sau nhiều ngày chờ đợi, từ hôm nay, giới lập trình song song trên GPU lại có thêm một công cụ mạnh mẽ trong tay, đó là môi trường phát triển cho OpenCL, do NVIDIA phát hành. Bộ môi trường phát triển này bao gồm trình điều khiển thiết bị riêng cho OpenCL chạy trên [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=314&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sau nhiều ngày chờ đợi, từ hôm nay, giới lập trình song song trên GPU lại có thêm một công cụ mạnh mẽ trong tay, đó là môi trường phát triển cho OpenCL, do NVIDIA phát hành. Bộ môi trường phát triển này bao gồm trình điều khiển thiết bị riêng cho OpenCL chạy trên các GPU của NVIDIA, và bộ OpenCL SDK.</p>
<p>Thông tin chi tiết đến từ trang web của NVIDIA:</p>
<p><a href="http://www.nvidia.com/object/io_1240224603372.html">http://www.nvidia.com/object/io_1240224603372.html</a><br />
<a href="http://www.nvidia.com/object/cuda_opencl.html">http://www.nvidia.com/object/cuda_opencl.html</a></p>
<p>Để tham gia dùng thử bộ OpenCL SDK này, mọi người có thể tham gia chương trình <span style="color:#008000;"><strong>&#8220;NVIDIA&#8217;s GPU Computing Registered Developer Program&#8221;</strong></span> bằng cách đăng ký ở đây:</p>
<p><a href="http://nvdeveloper.nvidia.com/content/GPUComputingDeveloperApplication/frmDeveloperRegistration.asp">http://nvdeveloper.nvidia.com/content/GPUComputingDeveloperApplication/frmDeveloperRegistration.asp</a></p>
<p>Bộ công cụ phát triển này đang còn ở giai đoạn sơ khai (Alpha Test) nên chỉ bao gồm các chức năng quan trọng nhất nêu trong <a href="http://www.khronos.org/opencl/" target="_blank">đặc tả chuẩn OpenCL 1.0 của tổ chức Khronos</a>.</p>
<p>Lập trình trên OpenCL là một chủ đề mới khá thú vị mà tôi hy vọng sẽ có dịp trao đổi nhiều hơn khi có thêm thời gian <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />Posted in Công bố, Công cụ lập trình Tagged: GPU, lập trình song song, nvidia, OpenCL <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/314/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=314&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2009/04/21/opencl_alpha_release/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
		<item>
		<title>Komrade &#8211; Thư viện C++ cho CUDA</title>
		<link>http://fastgpu.wordpress.com/2009/04/07/komrade/</link>
		<comments>http://fastgpu.wordpress.com/2009/04/07/komrade/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 02:38:13 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Công bố]]></category>
		<category><![CDATA[Công cụ lập trình]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[Komrade]]></category>
		<category><![CDATA[lập trình song song]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/?p=306</guid>
		<description><![CDATA[Hôm nay NVIDIA chính thức công bố thư viện lập trình C++ cho CUDA đầu tiên, với tên gọi Komrade. http://code.google.com/p/komrade/ Với thư viện này, NVIDIA đã cung cấp một công cụ tuyệt vời cho những ai yêu thích vẻ đẹp đơn giản của lập trình định hướng đối tượng, đặc biệt là các tín [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=306&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hôm nay NVIDIA chính thức công bố thư viện lập trình C++ cho CUDA đầu tiên, với tên gọi Komrade.</p>
<p><a href="http://code.google.com/p/komrade/">http://code.google.com/p/komrade/</a></p>
<p>Với thư viện này, NVIDIA đã cung cấp một công cụ tuyệt vời cho những ai yêu thích vẻ đẹp đơn giản của lập trình định hướng đối tượng, đặc biệt là các tín đồ C++ giáo, cùng với sức mạnh của GPU trong tính toán song song. Sau đây là một chương trình hoàn chỉnh để tính tổng của 100 số ngẫu nhiên trên GPU, mà tôi mạn phép sao chép từ trang chính của Komrade.</p>
<pre class="brush: cpp;">
#include &lt;komrade/host_vector.h&gt;
#include &lt;komrade/device_vector.h&gt;
#include &lt;komrade/generate.h&gt;
#include &lt;komrade/reduce.h&gt;
#include &lt;komrade/functional.h&gt;
#include &lt;cstdlib&gt;

int main(void)
{
    // generate random data on the host
    komrade::host_vector h_vec(100);
    komrade::generate(h_vec.begin(), h_vec.end(), rand);// transfer to device and compute sum
    komrade::device_vector d_vec = h_vec;
    int x = komrade::reduce(d_vec.begin(), d_vec.end(), komrade::plus());
    return 0;
}
</pre>
<p>Trong hàm <strong>main() </strong>ở đoạn chương trình trên, rõ ràng chúng ta không cần quan tâm gì đến chuyện khởi động thiết bị (GPU), rồi cấp phát bộ nhớ trên RAM và trên bộ nhớ toàn cục của GPU, sao chép dữ liệu từ RAM vào phần bộ nhớ trên GPU, kích hoạt kernel để tính toán, sau cùng lấy dữ liệu từ GPU trả trở về cho CPU, như thường thấy trong lập trình CUDA.</p>
<p>Các bạn thử chạy chương trình trên với số lượng các số ngẫu nhiên không phải là 100, mà 1000, hay 10000 coi nó có nhanh hơn phiên bản do các bạn tự sáng tác ra, hay tìm được đâu đó trên NET <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  không?</p>
<p>Komrade chỉ dùng được với CUDA 2.2 trở lên. Phiên bản này với rất nhiều cải tiến mới mẻ sẽ được công bố chính thức một ngày không xa <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . Hiện tại các bạn có thể đăng ký và dùng thử ở đây: <a href="http://www.nvidia.com/object/cuda_get.html">http://www.nvidia.com/object/cuda_get.html</a> (tìm cụm từ CUDA 2.2 Beta).</p>
<br />Posted in Công bố, Công cụ lập trình Tagged: C++, CUDA, Komrade, lập trình song song <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/306/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=306&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2009/04/07/komrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
		<item>
		<title>Tài liệu tham khảo &#8211; Tháng 3/2009</title>
		<link>http://fastgpu.wordpress.com/2009/03/17/tailieu_tk_200903/</link>
		<comments>http://fastgpu.wordpress.com/2009/03/17/tailieu_tk_200903/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 07:19:35 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Tài liệu tham khảo]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[dr.dobbs]]></category>
		<category><![CDATA[HPC Asia 2009]]></category>
		<category><![CDATA[lập trình pthread]]></category>
		<category><![CDATA[multicore]]></category>
		<category><![CDATA[song song]]></category>
		<category><![CDATA[đa lõi]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/?p=300</guid>
		<description><![CDATA[Tạp chí Dr.Dobbs vừa có thêm một mục mới là &#8220;This Week&#8217;s Multicore Reading List&#8221;, giới thiệu những tài liệu hay cho những ai lập trình đa lõi. Bạn nào quan tâm có thể vào link dưới đây. http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=215802127 Đáng đọc nhất là quyển &#8220;Programming with POSIX Threads&#8221; giới thiệu lập trình pthread một cách [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=300&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Tạp chí Dr.Dobbs vừa có thêm một mục mới là &#8220;This Week&#8217;s Multicore Reading List&#8221;, giới thiệu những tài liệu hay cho những ai lập trình đa lõi. Bạn nào quan tâm có thể vào link dưới đây.</p>
<p><a href="http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=215802127">http://www.ddj.com/go-parallel/article/showArticle.jhtml?articleID=215802127</a></p>
<p>Đáng đọc nhất là quyển &#8220;Programming with POSIX Threads&#8221; giới thiệu lập trình pthread một cách chi tiết của David R. Butenhof và phần giới thiệu về &#8220;Programming Clojure&#8221; của Stuart Halloway. Có dịp tôi sẽ bàn nhiều hơn về pthread + CUDA cho các Tesla cluster.</p>
<p>Ngoài ra bài giảng của tôi tại HPC Asia 2009 đã được ban tổ chức upload lên ở đây:</p>
<p><a href="http://www.nchc.org.tw/event/2009/hpcasia/program/advanced.php">http://www.nchc.org.tw/event/2009/hpcasia/program/advanced.php</a> (Tutorial 1)</p>
<p>Trong bài giảng này tôi đã cập nhật gần đầy đủ các thông tin mới nhất liên quan đến CUDA.</p>
<br />Posted in Tài liệu tham khảo Tagged: CUDA, dr.dobbs, HPC Asia 2009, lập trình pthread, multicore, song song, đa lõi <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/300/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=300&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2009/03/17/tailieu_tk_200903/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
		<item>
		<title>Công bố CUDA 2.1</title>
		<link>http://fastgpu.wordpress.com/2009/01/18/congbo_cuda21_beta/</link>
		<comments>http://fastgpu.wordpress.com/2009/01/18/congbo_cuda21_beta/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 11:23:10 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Công bố]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[lập trình song song]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/2008/11/25/cong-b%e1%bb%91-cuda-21-beta/</guid>
		<description><![CDATA[CUDA  đã có phiên bản mới 2.1.  Những cải tiến chính trong phiên bản này là: Hỗ trợ một loạt các chip đồ họa mới của NVIDIA theo danh sách ở đây: http://www.nvidia.com/object/cuda_learn_products.html Hỗ trợ các card siêu máy tính Tesla trên hệ điều hành Windows Vista 32 và 64 bit. Hỗ trợ hệ điều [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=265&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- #BeginTags --></p>
<p class="tags"><a href="http://www.nvidia.com/cuda">CUDA</a>  đã có <a href="http://forums.nvidia.com/index.php?showtopic=85832" target="_blank">phiên bản mới 2.1</a>.  Những cải tiến chính trong phiên bản này là:</p>
<ul>
<li>Hỗ trợ <span style="color:#000000;">một loạt các chip đồ họa mới</span> của NVIDIA theo danh sách ở đây:
<ul>
<li><strong><span style="color:#000099;">http://www.nvidia.com/object/cuda_learn_products.html</span></strong></li>
</ul>
</li>
<li>Hỗ trợ <span style="color:#000000;">các card siêu máy tính Tesla</span> trên hệ điều hành <strong>Windows Vista 32 và 64 bit</strong>.</li>
<li>Hỗ trợ hệ điều hành <strong>Linux Open SUSE 11.0 32 và 64 bit</strong>.</li>
<li>Hỗ trợ <strong>Visual Studio 2008 SP1</strong> và <strong><span style="color:#ff0000;">loại bỏ hỗ trợ cho Visual Studio.NET 2003</span></strong>.</li>
<li>Bổ sung hàm thực thi <strong><span style="color:#000000;">cuModuleLoadDataEx</span></strong> cho mô hình máy ảo PTX JIT.</li>
<li>Tăng cường tính tương hỗ với thư viện DirectX 9 với hàm <strong><span style="color:#000000;">cuD3D9ResourceGetMappedArray</span></strong>.</li>
<li>Bổ sung tính hỗ trợ cho DirectX 10 với một loạt hàm mới:</li>
</ul>
<blockquote><p><span style="color:#000000;">- cuD3D10GetDevice<br />
- cuD3D10CtxCreate<br />
- cuD3D10RegisterResource<br />
- cuD3D10UnregisterResource<br />
- cuD3D10MapResources<br />
- cuD3D10UnmapResources<br />
- cuD3D10ResourceSetMapFlags<br />
- cuD3D10ResourceGetMappedArray<br />
- cuD3D10ResourceGetMappedPointer<br />
- cuD3D10ResourceGetMappedSize<br />
- cuD3D10ResourceGetMappedPitch<br />
- cuD3D10ResourceGetSurfaceDimensions</span></p></blockquote>
<ul>
<li><span style="color:#000000;">Hỗ trợ tốt hơn cho OpenGL bằng việc sửa chữa một bug quan trọng. Giờ đây hệ thống chỉ copy các vùng đệm dùng chung qua bộ nhớ RAM khi CUDA và OpenGL chạy trên các GPU khác nhau.</span></li>
</ul>
<p>Những tồn tại vẫn chưa giải quyết được bao gồm các vấn đề sau đây.</p>
<h3><span style="color:#990000;">* Trên hệ điều hành Vista:</span></h3>
<ul>
<li>Để chạy CUDA trên GPU không phải loại TESLA thì hoặc phần Windows desktop phải được mở rộng cho GPU đó, hoặc là GPU đó phải được thiết lập như một PhysX GPU.</li>
</ul>
<ul>
<li>Các kernel riêng lẻ bị giới hạn bởi <span style="color:#000000;"><strong>khoảng thời gian thực thi 2 giây</strong></span> trên Windows Vista. Các kernel chạy lâu hơn 2 giây sẽ làm kích hoạt cơ chế <strong>Timeout Detection and Recovery (TDR)</strong>. Thông tin chi tiết xem ở đây: <strong><span style="color:#000066;">http://www.microsoft.com/whdc/device/display/wddm_timeout.mspx</span></strong>.</li>
</ul>
<ul>
<li>Chương trình CUDA Profiler<strong><span style="color:#ff0000;"> <span style="color:#000000;">không hỗ trợ sự kiện đếm hiệu năng</span></span></strong> (performance counter event) trên Windows Vista. Tất cả các cấu hình profiler có liên quan đến sự kiện này sẽ bị bỏ qua.</li>
</ul>
<ul>
<li>Trên Windows Vista,  tất cả các thao tác copy vùng nhớ không đồng bộ (<em>asynchronous memory copies</em>) sẽ <span style="color:#000000;"><strong>không hỗ trợ cơ chế chồng lấp thời gian với GPU</strong></span>. Nói cách khác, giá trị của biến <strong>CU_DEVICE_ATTRIBUTE_GPU_OVERLAP</strong> sẽ là <strong>0</strong> trên mọi thiết bị.</li>
</ul>
<ul>
<li><span style="color:#000000;"><strong>Kích thước vùng nhớ lớn nhất</strong></span> có thể cấp phát được bằng hàm <strong><span style="color:#000000;">cudaMalloc</span></strong> trên bộ nhớ của một GPU bị giới hạn bởi <strong><span style="color:#ff0000;">(Kích thước bộ nhớ hệ thống theo MB &#8211; 512 MB ) / 2</span></strong>.</li>
</ul>
<h3><span style="color:#990000;">* Trên hệ điều hành XP:</span></h3>
<ul>
<li>Các kernel riêng lẻ bị giới hạn bởi <span style="color:#000000;"><strong>khoảng thời gian thực thi 5 giây</strong></span> trên các GPU có gắn kết với màn hình hiển thị đồ họa. Các kernel chạy lâu hơn khoảng thời gian này sẽ gây ra lỗi trả về bởi trình điều khiển thiết bị CUDA hoặc trình thực thi CUDA. Tuy nhiên các GPU không nối kết với màn hình sẽ không bị ảnh hưởng bới giới hạn này, do vậy một trong những cách sử dụng CUDA trên Windows XP tiện lợi nhất là sử dụng một card đồ họa có cấu hình vừa phải để nối kết với màn hình, phục vụ cho việc hiển thị, còn phần tính toán song song chính sẽ được thực hiện trên một GPU thứ hai không nối với màn hình, có khả năng tính toán mạnh hơn nhiều so với GPU thứ nhất.</li>
</ul>
<h3><span style="color:#990000;">* Các vấn đề chung cho cả XP và Vista:</span></h3>
<ul>
<li><span style="color:#000000;"><strong>Thứ tự liệt kê GPU trên các hệ thống đa GPU là không xác định</strong></span> và có thể thay đổi trong các phiên bản CUDA kế tiếp. Lập trình viên cần liệt kê tất cả các GPU chạy được CUDA có trong từng hệ thống máy tính và chọn lựa những GPU thích hợp nhất cho ứng dụng của mình.</li>
</ul>
<ul>
<li>Các ứng dụng <span style="color:#000000;"><strong>cố sử dụng quá nhiều vùng nhớ trên thiết bị </strong></span>có thể làm phát sinh lỗi <strong>CUDA_ERROR_OUT_OF_MEMORY</strong>. Nếu lỗi này xảy ra, CUDA Context sẽ được đặt vào trạng thái có lỗi, cần phải được hủy đi và tạo lại nếu ứng dụng gây lỗi muốn tiếp tục sử dụng CUDA.</li>
</ul>
<ul>
<li>Hàm Malloc <span style="color:#000000;"><strong>có thể không thực thi được do hết không gian vùng nhớ ảo</strong></span>. Giới hạn về không gian địa chỉ vùng nhớ này đã được Microsoft sửa chữa trong một bản vá lỗi gần đây: <a href="http://support.microsoft.com/kb/940105">http://support.microsoft.com/kb/940105</a>. Windows Vista SP1 đã có chứa bản vá lỗi này.</li>
</ul>
<ul>
<li>Khi hai GPU chạy trong chế độ SLI, <span style="color:#000000;"><strong>chỉ có một GPU là dùng được</strong></span> để chạy các chương trình CUDA.</li>
</ul>
<ul>
<li>CUDA <span style="color:#000000;"><strong>chỉ có thể biên dịch được với Microsoft Studio Visual 8.0 khi bản Service Pack 1 </strong></span>của phần mềm này được cài đặt. Lý do là có một số file header của Windows C++ sẽ gây ra lỗi khi được xử lý bởi cudafe nếu không có SP1.</li>
</ul>
<ul>
<li><span style="color:#000000;"><strong>Chế độ biên dịch ngầm định cho mã thực thi trên CPU là C++</strong></span>. Nếu mọi người muốn dùng lại chế độ biên dịch ngầm định như ở các phiên bản trước đây của CUDA, xin vui lòng dùng tùy chọn <strong>&#8211;host-compilation=c</strong>.</li>
</ul>
<ul>
<li>Để đạt được<strong><span style="color:#ff0000;"> <span style="color:#000000;">hiệu năng tối đa khi sử dụng các kích thước đa byte</span></span></strong> để truy cập cùng một dữ liệu, hãy gộp các thao tác tải/lưu kề nhau càng nhiều càng tốt thay vì dung cách truy cập kiểu union trong C hay truy cập từng byte riêng lẻ. Việc truy cập dữ liệu qua union có thể làm cho trình biên dịch giành thêm vùng nhớ cho đối tượng dữ liệu đó, và truy cập riêng lẻ từng byte một có thể dẫn đến việc truy cập không hợp nhất. Các điểm yếu này của trình biên dịch sẽ được cải thiện trong tương lai.</li>
</ul>
<br />Posted in Công bố Tagged: CUDA, lập trình song song <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/265/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=265&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2009/01/18/congbo_cuda21_beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
		<item>
		<title>Chúc mừng năm mới 2009!!!</title>
		<link>http://fastgpu.wordpress.com/2009/01/01/chuc-m%e1%bb%abng-nam-m%e1%bb%9bi-2009/</link>
		<comments>http://fastgpu.wordpress.com/2009/01/01/chuc-m%e1%bb%abng-nam-m%e1%bb%9bi-2009/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 12:12:57 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/2009/01/01/chuc-m%e1%bb%abng-nam-m%e1%bb%9bi-2009/</guid>
		<description><![CDATA[Nhân dịp năm mới, kính chúc tất cả mọi người sức khỏe và thật nhiều thành công trong năm con Trâu 2009!!! Posted in Uncategorized<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=285&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nhân dịp năm mới, kính chúc tất cả mọi người sức khỏe và thật nhiều thành công trong năm con Trâu 2009!!!</p>
<br />Posted in Uncategorized  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/285/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=285&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2009/01/01/chuc-m%e1%bb%abng-nam-m%e1%bb%9bi-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
		<item>
		<title>SC08 và GPU</title>
		<link>http://fastgpu.wordpress.com/2008/11/25/sc08-va-gpu/</link>
		<comments>http://fastgpu.wordpress.com/2008/11/25/sc08-va-gpu/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 15:59:18 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Sự kiện]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[HPC]]></category>
		<category><![CDATA[Personal Supercomputer]]></category>
		<category><![CDATA[Quadro]]></category>
		<category><![CDATA[SC08]]></category>
		<category><![CDATA[siêu máy tính cá nhân]]></category>
		<category><![CDATA[Tesla]]></category>
		<category><![CDATA[xử lý song song]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/2008/11/25/sc08-va-gpu/</guid>
		<description><![CDATA[  Đối với dân trong ngành tính toán hiệu năng cao (HPC – High Performance Computing), hội nghị SC (supercomputing conference) hàng năm là nơi để gặp gỡ, trao đổi về các tiến bộ mới trong lĩnh vực máy “ngốn số liệu”. Hội nghị SC năm nay được tổ chức tại Austin, Texas là hội [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=267&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> </p>
<p class="tags">Đối với dân trong ngành tính toán hiệu năng cao (HPC – High Performance Computing), hội nghị SC (supercomputing conference) hàng năm là nơi để gặp gỡ, trao đổi về các tiến bộ mới trong lĩnh vực máy “ngốn số liệu”. <a href="http://sc08.supercomputing.org/?pg=about.html">Hội nghị SC năm nay </a>được tổ chức tại Austin, Texas là hội nghị lần thứ 20 của ngành, tính từ hội nghị đầu tiên được tổ chức tại Orlando, Florida năm 1988. Trong lần thứ 20 này, SC08 đã chứng kiến <strong><span style="color:#009900;"><span style="color:#000000;">sự chuyển hướng đáng kể</span> </span></strong>trong ngành HPC, từ mô hình siêu máy tính truyền thống tốn kém sang các mô hình kinh tế hơn, đặc biệt là mô hình lập trình song song trên GPU. Dưới đây tôi tóm tắt lại những sự kiện chính trong hội nghị lần này có liên quan đến GPU, mặc dù còn vô số thứ khác để học hỏi từ SC08.</p>
<ul>
<li>SC08 <strong><span style="color:#009900;"><span style="color:#000000;">đánh dấu sự ra đời của</span> <a href="http://www.nvidia.com/object/io_1226945999108.html">siêu máy tính đầu tiên trên thế giới sử dụng GPU</a></span></strong> làm công cụ tính toán hữu hiệu và kinh tế. Tôi rất lấy làm tự hào vì chiếc siêu máy tính đó đến từ <a href="http://www.titech.ac.jp/">Tokodai</a> (TiTech, Tokyo Institute of Technology), nơi tôi đã có cơ hội học tập và nghiên cứu trong nhiều năm liền kể từ ngày đầu tiên bước chân lên đất Phù Tang. Với tên gọi <span style="color:#000000;"><strong>Tsubame</strong></span>, hệ thống này được đặt trên tầng 2 của <a href="http://www.gsic.titech.ac.jp/index.html.en">trung tâm tính toán và thông tin khoa học toàn cầu</a>, nằm cạnh thư viện trung tâm ở campus O-Okayama. Bằng cách lắp đặt thêm 170 khối Tesla dạng 1U, với mỗi khối gồm 4 card Tesla, tổng cộng hệ thống có thêm 170 x 4 = 680 Tesla GPU. Sự bổ sung kịp thời này đã cho phép Tsubame vượt lên vào vị trí 29 trong bảng tổng sắp LINPACK Benmark kỳ này, với khả năng tính toán có độ chính xác kép trên số thực là 77.48 TFLOP. Với một kinh phí khiêm tốn, ít hơn rất rất nhiều lần so với hệ thống ban đầu, và với thời gian lắp đặt kỷ lục (khoảng 1 tuần lễ) nhờ sự kết hợp tuyệt vời của các kỹ sư tài năng đến từ Sun Microsystem, NEC, và NVIDIA, <span style="color:#000000;"><strong>Tsubame với Tesla chứng tỏ khả năng sử dụng GPU trong các hệ thống HPC là hoàn toàn hiện thực</strong></span>. Tokodai sẽ chào đón sự kiện này bằng <a href="http://www.nvidia.co.jp/object/global_coe_jp.html">một ngày đặc biệt</a>, đúng vào thứ ba tuần sau 02/12 tại O-Okayama Campus. Bạn nào ở Nhật và có thời gian vui lòng đến dự cho vui.</li>
</ul>
<ul>
<li>SC08 chứng kiến <a href="http://www.nvidia.com/object/io_1227091836539.html" target="_blank">sự hợp tác toàn diện giữa NVIDIA và NEC</a>. Chắc chắn trong thời gian sắp tới, chúng ta sẽ được thưởng thức nhiều sản phẩm ngoạn mục dựa trên CUDA mà NEC mang lại cho người dùng mức cao.</li>
</ul>
<ul>
<li>SC08 chứng kiến <a href="http://www.nvidia.com/object/io_1227095937833.html">sự hợp tác giữa NVIDIA và người khổng lồ siêu máy tính Cray</a>. Cray CX1 sẽ sử dụng các card Tesla và Quadro của NVIDIA cho các engine tính toán chiến đấu của mình.</li>
</ul>
<ul>
<li>Phần mềm huyền thoại Mathematica với phiên bản 7.0 chính thức hỗ trợ tự động tính toán song song trên các hệ thống đa lõi, và <a href="http://www.nvidia.com/object/io_1227010734073.html">phiên bản “CUDA-enabled”</a> sẽ được phát hành vào tháng Giêng năm 2009. Chúng ta cùng xem Wolfram Research nói gì về CUDA:</li>
</ul>
<blockquote><p><span style="color:#008000;">“Since its initial release, <em>Mathematica</em> has been adopted by over 3 million professionals across the entire global technical computing community, and it has had a profound effect on how computers are used across many fields,” said Joy Costa, director of global partnerships at Wolfram Research. “The prospect of a hundred fold increase in <em>Mathematica 7</em> performance is staggering. <strong>CUDA enabled <em>Mathematica</em> will revolutionize the world of numerical computation.</strong>”</span></p></blockquote>
<ul>
<li>Không những chỉ có các dàn máy khổng lồ, SC08 là nơi ra đời của một khái niệm mới, <a title="PS" href="http://www.nvidia.com/object/io_1227008280995.html" target="_blank"><span style="color:#000080;"><strong>“Personal Supercomputer (PSC)&#8221;</strong>.</span></a> Nếu trong thập niên 80, những chiếc máy PC của IBM đã tạo nên một cuộc cách mạng máy tính với công thức <span style="color:#000000;"><strong>“Một người dùng &#8211; một PC”</strong></span>, thì hôm nay, với Tesla/Quadro GPU của NVIDIA, chúng ta có <span style="color:#000000;"><strong>“Một nhà nghiên cứu, một PSC”</strong></span>. Cấu hình thông dụng của các PSC mà tôi có dịp tham gia lắp đặt gần đây bao gồm 1 card Quadro FX5800 phục vụ hiển thị đồ họa cùng 3 card Tesla C1060 phục vụ tính toán. Sự kết hợp này mang lại cho chúng ta khoảng 4 TFLOP khả năng tính toán trên số thực với độ chính xác đơn, cùng với hệ thống bộ nhớ 16GB DDR2, với giá thành khoảng 10,000 USD, rẻ hơn 100 lần so với một hệ máy có cùng khả năng tính toán sử dụng giải pháp CPU cluster, chưa kể đến không gian nhỏ gọn của chỉ một thùng máy lớn, thay vì cả một gian phòng, và chi phí điện năng hết sức tiết kiệm.</li>
</ul>
<br />Posted in Sự kiện Tagged: GPU, HPC, Personal Supercomputer, Quadro, SC08, siêu máy tính cá nhân, Tesla, xử lý song song <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/267/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=267&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2008/11/25/sc08-va-gpu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
		<item>
		<title>Tính toán song song trên dữ liệu &#8211; Phần 1 : Điểm xuất phát</title>
		<link>http://fastgpu.wordpress.com/2008/11/15/ttss_dl_p1/</link>
		<comments>http://fastgpu.wordpress.com/2008/11/15/ttss_dl_p1/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 13:50:08 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Tài liệu tham khảo]]></category>
		<category><![CDATA[lập trình GPU]]></category>
		<category><![CDATA[xử lý song song dựa trên dữ liệu]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/2008/11/14/tinh-toan-song-song-tren-d%e1%bb%af-li%e1%bb%87u-ph%e1%ba%a7n-1-di%e1%bb%83m-xu%e1%ba%a5t-phat/</guid>
		<description><![CDATA[Tiếp theo phần giới thiệu hôm trước, hôm nay tôi sẽ tóm tắt tiếp phần 1 có tựa đề là &#8220;A bit of background&#8221; trong bài báo của Chas. Tôi đặt lại tựa phần này là &#8220;Điểm xuất phát&#8221; cho dễ hiểu. Ở đây để giảng giải lý do cần thiết cho tính khuếch trương của [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=251&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Tiếp theo <a href="http://fastgpu.wordpress.com/2008/11/10/ttss_dl/">phần giới thiệu hôm trước</a>, hôm nay tôi sẽ tóm tắt tiếp phần 1 có tựa đề là <strong><span style="color:#000099;">&#8220;A bit of background&#8221;</span></strong> trong bài báo của Chas. Tôi đặt lại tựa phần này là <em>&#8220;Điểm xuất phát&#8221;</em> cho dễ hiểu.</p>
<p>Ở đây để giảng giải lý do cần thiết cho <strong><span style="color:#006600;">tính khuếch trương</span></strong> của một phần mềm hiện đại, Chas đã chỉ ra rằng:</p>
<ul>
<li><strong><span style="color:#ff0000;">Sự phát triển hiệu năng của bộ xử lý bị giới hạn bởi các quy luật vật lý cơ bản.</span></strong> Với những quy luật này, trong thập niên 90 của thế kỷ 20, chúng ta đã được chứng kiến nhiều cải tiến kỹ thuật cho bộ xử lý, ví dụ như tăng số cổng trên mỗi chip, rồi tăng tốc độ đồng hồ hệ thống, hay kỹ thuật tạo xử lý song song ở mức chỉ thị máy (instruction-level parallelism, viết tắt là <strong>ILP</strong>). Tuy nhiên những năm gần đây (kể từ 2003 trở đi), cũng chính các quy luật vật lý đó đã dần dần đặt dấu chấm hết cho những cải tiến như vậy, chẳng hạn như:
<ul>
<li><strong>Với kỹ thuật tăng tốc đồng hồ hệ thống:</strong> các giới hạn về năng lượng và nhiệt đã gần đạt đến mức không thể chấp nhận được. <em>Điều này có nghĩa là chúng ta sẽ không còn thấy nhiều sự nhảy vọt ở mức GHz như đối với MHz nhiều năm về trước. Hiện tại bộ xử lý đang dậm chân trong khoảng từ 3 ~ 5GHz về mặt tốc độ.</em></li>
<li><strong>Với kỹ thuật tạo xử lý song song ở mức chỉ thị máy:</strong> các giới hạn về diện tích chip khiến việc gia tăng xử lý kiểu này thông qua dự đoán rẻ nhánh (branch prediction) hay thực thi kiểu đầu cơ (speculative execution) hay <em>nhiều thứ hay ho cao siêu khác nữa đã trở thành dĩ vãng</em>.</li>
</ul>
</li>
<li><strong><span style="color:#ff0000;">Còn một yếu tố duy nhất có thể</span></strong> <strong><span style="color:#ff0000;">c</span></strong><span style="color:#ff0000;"><strong>ải tiến là số lượng cổng trên chip. </strong><span style="color:#000000;">Càng có nhiều cổng trên một chip</span></span> có nghĩa là càng có nhiều nhân hay lõi được tạo ra. Số lượng nhân trên mỗi chip được dự đoán sẽ lại tăng gấp đôi sau mỗi 2 năm, tức là khoảng 2012 chúng ta sẽ thấy CPU có 32 nhân. <em>Dĩ nhiên là người dùng sẽ rất hạnh phúc, vì cùng với một khoảng tiền như trước, họ có nhiều CPU con trong máy hơn. Tuy nhiên, tất cả đều chỉ sẽ <span style="color:#0000ff;"><strong>thật sự hạnh phúc</strong></span> khi phần  mềm cũng có khả năng mở rộng hiệu năng theo đà phát triển đó, và mọi chuyện lại sẽ như ngày xưa, khi chúng ta chỉ cần đổi máy mới hay nâng cấp máy là mọi thứ sẽ chạy ngon lành hơn trước.<br />
</em></li>
</ul>
<br />Posted in Tài liệu tham khảo Tagged: lập trình GPU, xử lý song song dựa trên dữ liệu <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=251&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2008/11/15/ttss_dl_p1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
		<item>
		<title>Tính toán song song trên dữ liệu: &#8211; Phần 2: Lập trình song song kiểu cổ điển</title>
		<link>http://fastgpu.wordpress.com/2008/11/15/ttss_dl_p2/</link>
		<comments>http://fastgpu.wordpress.com/2008/11/15/ttss_dl_p2/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 16:19:43 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Tài liệu tham khảo]]></category>
		<category><![CDATA[lập trình GPU]]></category>
		<category><![CDATA[lập trình song song]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/2008/11/15/tinh-toan-song-song-tren-d%e1%bb%af-li%e1%bb%87u-ph%e1%ba%a7n-2-l%e1%ba%adp-trinh-song-song-ki%e1%bb%83u-c%e1%bb%95-di%e1%bb%83n/</guid>
		<description><![CDATA[Trong phần 2 với tựa đề &#8220;Parallel prorgamming&#8221;, bằng cách nêu lên 3 khó khăn chủ đạo trong mô hình lập trình song song truyền thống là: Cách suy nghĩ tuần tự của lập trình viên Khả năng mở rộng hiệu năng (performance scaling) Sự chuyển đổi thuật toán từ tuần tự sang song song [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=257&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Trong phần 2 với tựa đề &#8220;Parallel prorgamming&#8221;, bằng cách nêu lên 3 khó khăn chủ đạo trong mô hình lập trình song song  truyền thống là:</p>
<ul>
<li>Cách suy nghĩ tuần tự của lập trình viên</li>
<li>Khả năng mở rộng hiệu năng (performance scaling)</li>
<li>Sự chuyển đổi thuật toán từ tuần tự sang song song  hết sức tốn kém về thời gian và nhân lực</li>
</ul>
<p>Chas đã dẫn dắt người đọc đến với yêu cầu về một mô hình lập trình song kiểu mới linh hoạt hơn và theo sát với sự thay đổi về số lượng nhân /lõi của một hệ thống máy tính.</p>
<p>Chúng ta hãy thử cùng tác giả tìm hiểu chi tiết hơn về 3 khó khăn nói trên xem sao.</p>
<h2><span style="color:#000099;">* Khó khăn thứ nhất &#8211; Suy nghĩ tuần tự</span></h2>
<p>Tôi còn nhớ như in ngày đầu tiên tôi được học lập  trình trên chiếc máy tính XT cổ lỗ sĩ ở trường Tổng hợp cách đây gần 18 năm. Thầy  hướng dẫn ra lệnh cho đám nhốn nháo TH1 lần đầu tiên được ngồi cạnh máy tính gõ  từng lệnh của một chương trình viết bằng ngôn ngữ Pascal, trên bộ soạn thảo  tích hợp Turbo Pascal. Hồi đó máy tính còn là một thứ hết sức quý hiếm với dân  Sài gòn, đặc biệt là với sinh viên nghèo như tụi tui, nên giờ thực hành bà con  hết sức chăm chỉ ngồi “gõ” chương trình. Ai có tiền hơn thì đi thuê phòng máy ở  ngoài để “gõ” trước, rồi vô giờ thực hành tranh thủ nhờ thầy cô sửa lỗi giùm. Mà  ngay cả đi thuê máy cũng khó khăn, phải đăng ký trước, rồi mỗi người chỉ được  thuê 1, 2 tiếng chẳng hạn. Cho nên sinh viên tin học thời đó rất siêu môn gọi  là “chạy chương trình chay” trên giấy, nghĩa là tự viết chương trình hết sức rõ  ràng đầy đủ trên giấy (chứ còn chưa có bản in kim nữa là), rồi cùng nhau chạy bằng  “miệng”, lẩm nhẩm từng bước một, ghi kết quả ra giấy để coi đúng không. Giờ  nghĩ lại hồi đó làm vậy được là vì chương trình được viết ra để chạy tuần tự  theo kiểu <strong><span style="color:#006600;">kiến trúc đơn luồng von Neumann, hết lệnh này tới lệnh khác (nói chữ  nghĩa hơn là “có tính tất định” – deterministic)</span></strong>, nên biết chắc được kết quả ở  từng bước nếu mình không chạy sai về thứ tự thực thi. Cũng chính vì thói quen  suy nghĩ tuần tự đã ăn sâu như vậy nên giờ chuyển sang suy nghĩ kiểu song song rất  là mệt mỏi, vì sẽ phải chú ý tới các lỗi đặc thù của nó, nào là khóa chết  (<strong>deadlock</strong>), rồi khóa sống (<strong>livelock</strong>), rồi điều kiện cạnh tranh, … rất khó nhận  biết, và quan trọng hơn là các lỗi này thường không lập lại được để biết coi  nguyên nhân từ đâu (tiếng Anh gọi là <strong>nonrepeatable error</strong>) để sửa chữa. Ngành  khoa học máy tính đã tốn vài chục năm vừa rồi để đề ra nhiều phương pháp giải  quyết, nhưng chưa đâu vào đâu cả.</p>
<p><em>Suy nghĩ kỹ hơn chúng ta có thể thấy rằng vụ tư duy tuần tự này là do môi trường lập trình quyết định. Từ thập niên 80 đến khoảng gần đây, chúng ta chủ yếu làm việc với máy tính cá nhân, và mô hình thực thi trên đó như đã nói là từng bước một. Cũng có  máy tính song song, nhưng hiếm người được dùng nó trong công việc hàng ngày, vì   chuyện xây dựng một hệ máy tính như vậy ở mức quốc gia đã cực kỳ tốn kém chứ đừng nói là công ty hay cá nhân. </em>Còn bản thân  con người hoàn toàn không xa lạ gì với chuyện ứng dụng xử lý song song trong đời  sống hàng ngày. Dân tin học mê kiếm hiệp tụi tui vẫn nói đùa là Châu Bá Thông là ông tổ  lập trình song song, do hai tay có thể thi triển hai loại võ công tuyệt thế  khác nhau cùng lúc. Hay khi mình đi siêu thị mua đồ rồi trả tiền, thay vì phải  xếp một hàng dài, bà con nghĩ liền đến chuyện lập nhiều quầy thu ngân cùng lúc  cho lẹ. Hoặc đường cao tốc có nhiều làn xe là một ví dụ tương tự nữa minh họa hết  sức rõ ràng về xử lý song song. Đó là ở quy mô xã hội. Còn với mỗi người, chuyện  tranh thủ làm nhiều thứ cùng lúc cũng là bình thường, ví dụ như bấm nồi cơm điện,  bắt ấm nước sôi, rồi tranh thủ rửa chén, ba cái sẽ xong cùng một lúc. Rõ ràng mình  có thể liệt kê rất nhiều ví dụ nữa kiểu như vậy.</p>
<h2><span style="color:#000099;">* Khó khăn thứ hai &#8211; Mở rộng hiệu năng</span></h2>
<p><strong><span style="color:#003300;">Qui tắc  Amdahl</span></strong> trong lập trình song song cho chúng ta biết là <strong><span style="color:#ff0000;">lượng tăng tốc tối đa có  thể đạt được bằng việc song song hóa thuật toán thì tỷ lệ nghịch với phần mã  chương trình không thể chuyển sang dạng song song.</span></strong> Nói nôm na là cho dù chỉ còn  10% mã chương trình không thể song song hóa, thì sự tăng tốc chương trình đó  cũng không vượt quá 10 lần. Tuy nhiên để ướng lượng mức độ cải tiến theo kiểu  này rất khó, vì không thể xác định chính xác bao nhiêu phần trăm mã chương  trình thật sự chạy song song, do trong lúc thực thi song song, <strong><span style="color:#ff0000;">mọi thứ lại rất  có thể bị chuyển ngược lại thành tuần tự</span></strong>, như khi có tranh chấp tài nguyên dùng  chung, hay có truy cập đến nhiều vị trí khá cách xa nhau trong bộ nhớ. Đây  chính là một trong những hạn chế chính của mô hình lập trình song truyền thống  (vốn thường cài đặt cách điều khiển tiểu trình qua cơ chế khóa, hay qua giao diện truyền  thông điệp, hay nhiều cách khác nữa <em>đòi hỏi sự đồngbộ hóa – nói nôm na là tiểu trình này đợi tiểu trình kia hoàn tất công việc rồi mới làm tiếp phần việc tiếp theo của mình</em>) khi áp dụng  cho nhiều nhân/lõi. <em>Nói một cách dễ hiểu, nếu chúng ta chỉ phải đợi từng người  một hoàn tất công việc của họ một cách độc lập, thì thời gian chờ đợi có thể  coi là tăng tuyến tính với số người cần đợi/đồng bộ. Nhưng nếu chúng ta phải đợi  cùng lúc nhiều người, và kết quả công việc của họ lại phụ thuộc lẫn nhau, thì  thời gian chờ đợi sẽ tăng tổ hợp và rất khó xác định, chứ không đơn giản chỉ là  tăng tuyến tính.</em></p>
<p><strong><span style="color:#ff0000;">Còn có  một khó khăn cơ bản hơn nữa trong mở rộng hiệu năng với số nhân/lõi.</span></strong> Mô hình lập  trình song song truyền thống tiếp cận bài toán cần giải quyết theo kiểu  top-down, bằng cách chia một bài toán lớn thành nhiều tác vụ con, và mỗi tác vụ  này sẽ được giao cho một bộ xử lý/nhân/lõi. Vấn đề rắc rối ở đây là khi số lượng  bộ xử lý/nhân/lõi tăng lên đến hàng chục, hay hàng trăm như hiện nay, thì số  tác vụ con đã được thiết kế để giao nhằm tận dụng sức mạnh tính toán của chúng lại không có đủ.<br />
Cách tiếp cận phổ biến nhất cho tình huống này là lại cố chia nhỏ các tác vụ  con đó thành nhiều đơn vị thực thi nhỏ hơn.<br />
Như vậy, cách làm này bị  phụ thuộc  vào từng thế hệ phần cứng bộ xử lý,  dẫn đến chuyện không thể mở rộng việc thực thi chương  trình một cách dễ dàng theo kiểu không cần phải thay đổi, sửa chữa gì về mặt thuật toán  hay mã nguồn cài đặt.<em> Và suy cho cùng thì nếu một bài toán mà được chia thành vài chục tác vụ con chạy  song song sẽ vô cùng khó quản lý và gỡ rối.<br />
</em></p>
<h2><span style="color:#000099;">* Khó khăn thứ ba &#8211; Tuần tự sang song song</span></h2>
<p><strong><span style="color:#ff0000;">Chuyện đau khổ nhất</span></strong><span style="color:#000000;"> trong việc cố gắng chuyển mã từ tuần tự sang song song dựa trên tác vụ là ở chỗ quá trình này cần rất nhiều thời gian, có khi cả vài năm trời. Do tốc độ gia tăng số nhân/lõi hiện tại quá nhanh, nên nhiều khi thuật toán </span> song song mà chúng ta đã bỏ ra vài năm kể từ năm nay để thiết kế lại không mở rộng tốt với  số nhân/lõi của vài năm nữa, ở thời điểm chúng ta hoàn tất việc cài đặt nó một cách song song.<span style="color:#000099;"> </span><em>Vậy là coi như mọi cố gắng sẽ thành công cốc!!! </em></p>
<p><em>Thật ra ý tưởng gán một công việc nhỏ cho từng bộ xử lý/nhân/lõi trong máy tính nhằm tăng hiệu năng phần mềm chạy trên đó là hoàn toàn tự nhiên và được đúc kết từ kinh nghiệm trong đời sống hàng ngày. Tuy nhiên để tận dụng được hết sức mạnh của hàng trăm, rồi hàng ngàn nhân/lõi trong tương lai, chúng ta có lẻ cần phải &#8220;đi trước đón đầu&#8221; bằng cách tạo ra hàng chục ngàn, hàng trăm ngàn công việc nhỏ li ti cung cấp cho đội quân nhân/lõi đông đảo và ngày một gia tăng đó. Ở đâu ra  một khối lượng lớn các &#8220;tiểu tác vụ&#8221; như vậy?</em></p>
<p><em>Lời giải nằm ở chỗ bạn đừng quan tâm đến số lượng các tác vụ cần thực hiện, mà hãy để mắt đến khối lượng dữ liệu mà bạn cần xử lý. Chẳng hạn, có nhiều nhất bao nhiêu điểm ảnh có thể xử lý độc lập với một ảnh HD 1920 x 1080?<br />
</em></p>
<br />Posted in Tài liệu tham khảo Tagged: lập trình GPU, lập trình song song <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/257/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/257/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/257/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=257&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2008/11/15/ttss_dl_p2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
		<item>
		<title>Tính toán song song dựa trên dữ liệu &#8211; Giới thiệu chung</title>
		<link>http://fastgpu.wordpress.com/2008/11/10/tinh-toan-song-song-d%e1%bb%b1a-tren-d%e1%bb%af-li%e1%bb%87u-gi%e1%bb%9bi-thi%e1%bb%87u-chung/</link>
		<comments>http://fastgpu.wordpress.com/2008/11/10/tinh-toan-song-song-d%e1%bb%b1a-tren-d%e1%bb%af-li%e1%bb%87u-gi%e1%bb%9bi-thi%e1%bb%87u-chung/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 15:01:12 +0000</pubDate>
		<dc:creator>fastgpu</dc:creator>
				<category><![CDATA[Tài liệu tham khảo]]></category>
		<category><![CDATA[lập trình GPU]]></category>
		<category><![CDATA[lập trình song song]]></category>

		<guid isPermaLink="false">http://fastgpu.wordpress.com/2008/11/10/tinh-toan-song-song-d%e1%bb%b1a-tren-d%e1%bb%af-li%e1%bb%87u/</guid>
		<description><![CDATA[Trong phần tài liệu tham khảo của tháng 10/2008, tôi có đề cập đến bài viết của Chas Boyd, một trong những tác giả chính của DirectX tại Microsoft, về tính toán song song trên dữ liệu (&#8220;Data-Parallel Computing&#8221;), được đăng trên tạp chí ACM Queue số tháng Ba/Tư năm 2008. Hôm nay tôi mới [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=242&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Trong phần <a href="http://fastgpu.wordpress.com/2008/10/01/tai_lieu_tk_200810/">tài liệu tham khảo của tháng 10/2008</a>, tôi có đề cập đến bài viết của Chas Boyd, một trong những tác giả chính của DirectX tại Microsoft, về tính toán song song trên dữ liệu (<span style="color:rgb(51,153,51);"><b>&#8220;Data-Parallel Computing&#8221;</b></span>), được đăng trên tạp chí ACM Queue số tháng Ba/Tư năm 2008. Hôm nay tôi mới có thời gian để ghi lại đây một cách tóm tắt những nội dung quan trọng của bài báo đó. Phần chữ in nghiêng là phần bình luận do tôi thêm vào.</p>
<p>Mở đầu bài báo, ở trang 31, là một câu nêu lên tầm quan trọng trong định hướng dữ liệu của lập trình đa lõi trên GPU.</p>
<blockquote><p><span style="color:rgb(255,0,0);"><b>&#8220;Data parallelism is a key concept in leveraging the power of today&#8217;s manycore GPUs.&#8221;</b></span></p>
</blockquote>
<p>Tiếp theo đó, tác giả đã dẫn dắt người đọc đi qua 2 vấn đề chính trong việc cải tiến hiệu năng của chương trình máy tính là</p>
<ul>
<li>Người dùng <span style="color:rgb(51,153,0);"><b>luôn quan tâm</b></span> đến chuyện chương trình chạy nhanh hay chậm, và</li>
<li>Để cải tiến tốc độ chương trình, trước đây chỉ cần nâng cấp phần cứng, vì cứ sau hơn 1 năm rưỡi là tốc độ bộ xử lý lại tăng lên gấp đôi. Tuy nhiên <span style="color:rgb(255,0,0);"><b>giờ đây cách này đã không còn phù hợp</b></span>, do bộ xử lý mới trong máy không chạy nhanh hơn trước, mà chỉ gia tăng về số lượng.</li>
</ul>
<p>Từ đó Chas nêu lên ý tưởng về cách tiếp cận song song dựa trên dữ liệu (&#8220;data-parallel paradigm&#8221;) với 2 hy vọng</p>
<ul>
<li><b>Về phần mềm:</b> Nó sẽ giúp việc lập trình song song trở nên dễ dàng hơn, và</li>
<li><b>Về phần cứng:</b> Nó sẽ giúp cho việc cài đặt các chức năng hỗ trợ song song bằng phần cứng nơi các nhà sản xuất bộ xử lý đơn giản hơn nhiều.</li>
</ul>
<p>Với mục tiêu cung cấp cho người đọc những kiến thức cơ bản dễ hiểu về tính toán song song dựa trên dữ liệu, bài báo được tổ chức thành 7 phần nhỏ như sau:</p>
<ul>
<li>Phần 1: A Bit of Background</li>
<li>Phần 2: Parallel Programming</li>
<li>Phần 3: Data-Parallel Programming</li>
<li>Phần 4: GPUs as Data-Parallel Machines</li>
<li>Phần 5: Making Code Data-Parallel</li>
<li>Phần 6: GPU Performance Hints</li>
<li>Phần 7: Future Hardware Evolution: CPU/GPU Convergence</li>
</ul>
<p>Trong cách tổ chức bài viết như trên,&nbsp;phần 1 giảng giải sự cần thiết của <b><span style="color:rgb(51,102,0);">tính mở rộng quy mô thực thi</span></b>, hay có thể tạm gọi là tính khuếch trương (scalability) của một phần mềm hiện đại trong vòng từ 5 đến 10 năm tới. Sự cần thiết này dẫn đến khái niệm <b><span style="color:rgb(51,102,0);">lập trình song song</span></b>, được xem xét trong phần 2. Bằng cách nêu lên 3 khó khăn chủ đạo trong mô hình lập trình song song truyền thống, vốn dựa trên cơ chế song song của các tác vụ cần được thực thi, tác giả chỉ ra tính cần thiết cho việc chuyển sang một mô hình lập trình song song khác, là <b><span style="color:rgb(51,102,0);">lập trình song song dựa trên dữ liệu</span></b>. Khái niệm này được giới thiệu một cách khái quát trong phần 3 cùng với ý tưởng về tính phù hợp của các GPU cho kiểu lập trình này. Phần 4 tiếp tục mở rộng ý tưởng được nêu lên ở phần 3, bằng cách khảo sát chi tiết hơn cách thức sử dụng GPU cho nhiệm vụ mới mẻ này, thông qua các đặc trưng phần cứng song song tiện lợi có sẵn trên đó. Phần 5 của bài viết chuyển sang giới thiệu những điểm lập trình viên chúng ta cần lưu ý để <b><span style="color:rgb(51,102,0);">chuyển mã nguồn từ dạng tuần tự sang dạng song song dựa trên dữ liệu</span></b>. Tác giả đã đề nghị một cách tiếp cận gồm 5 bước cho việc chuyển đổi này. Ngoài ra, do lập trình song song trên GPU có những đặc thù riêng của nó, phần 6 nêu lên một số lưu ý giúp phần mềm được viết ra đạt hiệu năng như mong muốn. Cuối cùng, bài viết được kết thúc ở phần 7 với một chủ đề hết sức lý thú, đó là <b><span style="color:rgb(51,102,0);">sự kết hợp của CPU/GPU</span></b> làm một trong tương lai, thuận lợi và khó khăn.</p>
<p><i>Theo tôi cách tổ chức và phát triển bài viết theo như tác giả đã làm là một cách giới thiệu hết sức tự nhiên cho chủ đề lập trình song song dựa trên dữ liệu.</i></p>
<br />Posted in Tài liệu tham khảo Tagged: lập trình GPU, lập trình song song <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fastgpu.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fastgpu.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fastgpu.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fastgpu.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fastgpu.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fastgpu.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fastgpu.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fastgpu.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fastgpu.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fastgpu.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fastgpu.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fastgpu.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fastgpu.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fastgpu.wordpress.com/242/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fastgpu.wordpress.com&amp;blog=4532383&amp;post=242&amp;subd=fastgpu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fastgpu.wordpress.com/2008/11/10/tinh-toan-song-song-d%e1%bb%b1a-tren-d%e1%bb%af-li%e1%bb%87u-gi%e1%bb%9bi-thi%e1%bb%87u-chung/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a95aaa27108ae2b00b5b015b3755f01c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fastgpu</media:title>
		</media:content>
	</item>
	</channel>
</rss>
