<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://valley.egloos.com/rss/style/style.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>이글루스 'cuda' 태그 최근글</title>
		<link>http://valley.egloos.com/tag/cuda</link>
		<description>cuda</description>
		<language>ko</language>
		<pubDate>Sun, 20 May 2012 14:35:03 +0900</pubDate>
		<generator>Egloos</generator>
		<item>
	<title><![CDATA[CUDA 병렬처리 하다가..]]></title>
	<link>http://oh00n.egloos.com/2020520</link>
	<guid>http://oh00n.egloos.com/2020520</guid>
	<description>
	<![CDATA[ 
교수님이 하라는 대로 안했다가 아까운 시간만 허비했다.ㅠ  교수님이 그래픽드라이버 깔라고 했는데, 나는 이미 컴퓨터에 깔려있어서 귀찮은 나머지 바로 다음으로 넘어갔는데,   이게 그냥 드라이버가 아닌, 개발자용 드라이버였다. ㅎㅎㅎ  어쩐지ㅋㅋㅋ	]]>
	</description>
	<pubDate>Sun, 20 May 2012 14:35:03 +0900</pubDate>
	<dc:creator><![CDATA[프로그래밍은 플밍플밍해]]></dc:creator>
</item>
<item>
	<title><![CDATA[Ubuntu 10.10 CUDA Debugging 문제]]></title>
	<link>http://fordk.egloos.com/4197368</link>
	<guid>http://fordk.egloos.com/4197368</guid>
	<description>
	<![CDATA[ 
Ubuntu에서 CUDA를 쓰면서 가장 열받는 점은, Debugging이 힘들다는데 있다. eclipse에 CUDA를 연동 시켜놓은 상태지만 gdb는 C/C++ 코드만 디버깅이 가능하고  CUDA는 terminal에서 cuda-gdb를 사용해야한다. 윈도우는 NSight라는 디버깅 툴이라도 있는데...  혹시 이 글을 보는 누군가(그리 많지는 않겠지만)중에 CUDA GDB를 eclipse에서 사용할 수 있는 방법을 아신다면 알려주세요! 	]]>
	</description>
	<pubDate>Thu, 01 Mar 2012 18:20:46 +0900</pubDate>
	<dc:creator><![CDATA[잉여로운공간]]></dc:creator>
</item>
<item>
	<title><![CDATA[Ubuntu 10.10에서 eclipse에 CUDA 연동하기]]></title>
	<link>http://fordk.egloos.com/4197365</link>
	<guid>http://fordk.egloos.com/4197365</guid>
	<description>
	<![CDATA[ 
이전 포스팅에서 한번에 CUDA 연동까지 다 진행하려 했지만 생각보다 내용이 길어져서 따로 포스팅 하게 됐다.  Windows에서 보통 개발을 진행하던 입장에서, Ubuntu의 개발환경은 많이 낯설었고,  vi나 gedit을 이용한 코딩에는 분명한 한계가 존재하기 때문에 eclipse를 이용해보기로 마음을 먹었다.   설치 방법은 아래와 같다.    1. eclipse cdt를 다운받는다.      eclipse는 오로지 helios에만 plug-in이 존재하는듯 하다. 다른 대안이 없으므로 helios를 받는다.(ganymede나 indigo 말고!)      다운 받은 후 압축을 풀어주면 된다. 간혹 jdk나 jre가 없는 경우가 있는데 그럴경우 eclipse를 사용할 수 없으므로      미리미리 설치	]]>
	</description>
	<pubDate>Thu, 01 Mar 2012 18:11:20 +0900</pubDate>
	<dc:creator><![CDATA[잉여로운공간]]></dc:creator>
</item>
<item>
	<title><![CDATA[Ubuntu 10.10 (Maverick) 에 CUDA 4.0 설치]]></title>
	<link>http://fordk.egloos.com/4197358</link>
	<guid>http://fordk.egloos.com/4197358</guid>
	<description>
	<![CDATA[ 
프로젝트에서 CUDA를, 그것도 Linux에서 진행하게 됐다.  이전에 Fedora에를 쓸때는 &amp;lt;&amp;lt;이 블로그에 석사 형님이 잘 정리해 주셨지만  Fedora와 Ubuntu에서 설치하는데 엄연히 차이가 있으므로 처음부터 차근히 정리해보고자 한다.  설치 당시 내 컴퓨터의 스펙은 아래와 같다.  RAM : 8GB GPU : Geforce GTS 450 X 2 (SLI) CPU : Intel Core i7   1. Ubuntu 상에 그래픽 드라이버를 잡아준다.     1) 본인이 가진 그래픽카드에 적합한 그래픽 드라이버를              다음의 링크로 들어가서 찾아 다운로드 한다. 당연히 선택하는 운영체제는 Linux 32bit /64bit 이다.      2) 설치를 진행하기 앞서, Linux	]]>
	</description>
	<pubDate>Thu, 01 Mar 2012 17:46:46 +0900</pubDate>
	<dc:creator><![CDATA[잉여로운공간]]></dc:creator>
</item>
<item>
	<title><![CDATA[CUDA Programming on Fedora13]]></title>
	<link>http://neraph.egloos.com/371129</link>
	<guid>http://neraph.egloos.com/371129</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds24.egloos.com/pds/201201/03/68/d0140468_4f02631106502.jpg"  
				alt="CUDA Programming on Fedora13" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> 이제 CUDA compiler가 설치되었으니 잘 돌아가는지 확인을 해봐야겠지요.  여기로 가시면 예제로 배우는 CUDA Programming이라는 책의 예제 소스와 헤더파일들을 다운받을 수 있습니다.  받아서 압축을 푸시면 chapter별로 코드들이 나눠져 있을텐데요, 재밌는점은 확장자가 .cu라는 것과, 내부 코드를 보면 C와 C++을 마구 짬뽕해놓은 듯한 느낌을 받으실 수 있을껍니다. 이것은 cuda가 c를 기반으로 만들어졌기 때문인데요, 이 부분에 대해서는 나중에 언급하도록 하겠습니다.  무튼 코드가 있으니 실행을 시켜봐야겠지요.  chapter03에 들어가시면 너무나도 반가운 hello world예제가 무려 .cu 파일로 준비되어 있습니다. (근데 코드는 걍 C...)  컴파일을 해봐야겠지요.  컴파	]]>
	</description>
	<pubDate>Tue, 03 Jan 2012 11:19:02 +0900</pubDate>
	<dc:creator><![CDATA[무에서 유를 창조하는 사람들]]></dc:creator>
</item>
<item>
	<title><![CDATA[CUDA Programming on Fedora13]]></title>
	<link>http://neraph.egloos.com/371076</link>
	<guid>http://neraph.egloos.com/371076</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds22.egloos.com/pds/201201/03/68/d0140468_4f02543b7b812.jpg"  
				alt="CUDA Programming on Fedora13" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> CUDA Programming을 하기에 앞서 필요한 것들 1. CUDA Programming을 지원하는 nvidia 사의 그래픽 카드(GPU) (자신의 그래픽카드가 지원하는지 여부를 확인하려면 클릭) 2. CUDA toolkit 3. CUDA toolkit을 사용할 수 있는 운영체제  -----* 본 블로그에서 사용한 환경*-----  - GTX560 Ti  - CUDA 4.0 Toolkit(for Fedora13)  - Fedora13 64bit -------------------------------------    CUDA Programming을 하기에 앞서 fedora 운영체제를 설치하도록 합시다.  fedora13 설치파일을 구하셔서 인스톨하는 과정에 특별한 사항은 없습니다. 그냥 사용자 언어와 잡	]]>
	</description>
	<pubDate>Tue, 03 Jan 2012 10:41:38 +0900</pubDate>
	<dc:creator><![CDATA[무에서 유를 창조하는 사람들]]></dc:creator>
</item>
<item>
	<title><![CDATA[CoreAVC 3.0.1 간단한 리뷰(?)~♤]]></title>
	<link>http://rouxlouka.egloos.com/2207878</link>
	<guid>http://rouxlouka.egloos.com/2207878</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds23.egloos.com/pds/201109/17/22/a0072722_4e740756a9789.png"  
				alt="CoreAVC 3.0.1 간단한 리뷰(?)~♤" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> 안녕하세요?  CoreAVC 는 지난 9월 6일로 3 이 발표되었고, 9월 9일로 3.0.1 까지 나와있죠  CoreCODEC CoreAVC 3.0.1  여러가지가 추가되고 수정되었는데, 그 중 가장 눈에 띄는 내용이 9/10 bits 컬러 지원 추가와 Intel GMA 에 대한 DXVA2 지원이네요.   CoreAVC 3 의 기능 및 변경 사항이에요.  Technology Bulletpoints*   • Supports Windows 7  • 32/64 bit Support  • 8/9/10-Bit Hi10/Hi10P Support  • DXVA 1/2 Compatible  • NVIDIA CUDA GPU Support  • ATI GPU Support (DXVA)  • Intel Media SDK Sup	]]>
	</description>
	<pubDate>Sat, 17 Sep 2011 11:47:07 +0900</pubDate>
	<dc:creator><![CDATA[돛대도 아니 달고~ 삿대도 없이~~~]]></dc:creator>
</item>
<item>
	<title><![CDATA[8300GS 동영상 가속, CUDA]]></title>
	<link>http://allrelease.egloos.com/2699061</link>
	<guid>http://allrelease.egloos.com/2699061</guid>
	<description>
	<![CDATA[ 
8300GS는 대기업 PC에만 납품된 모델로 단품을 밖에서 살 수 없음.  MPEG2 제외하고 동영상 하드웨어 가속 안됨.CUDA 당연히 안됨.	]]>
	</description>
	<pubDate>Sat, 01 Jan 2011 20:42:12 +0900</pubDate>
	<dc:creator><![CDATA[더럽고 치사하게~]]></dc:creator>
</item>
<item>
	<title><![CDATA[GPU의 계산 정밀도에 대해]]></title>
	<link>http://GoParallel.egloos.com/1970819</link>
	<guid>http://GoParallel.egloos.com/1970819</guid>
	<description>
	<![CDATA[ 
NVIDIA의 GPU가 취급하는 부동소수점수 연산은 IEEE754에 따르고 있습니다. 연산이나 비정규화수 취급등의 차이에 의해, CPU와 연산결과가 다른 경우가 있습니다.적절한 부동소수점수의 계산오차에 대한 체크하지 않으면 버그인지 사양인지 알 수 없는 곤란한 문제에 직면합니다. 여기서 실제로 오차가 나오는 잔류방어와 함께 간단한 계산오차의 회피 방법을 소개합니다. CUDA의 프로그래밍 매뉴얼은 Appendix로서 GPU의 계산오차를 설명하고 있습니다.이 중에 중요한 몇가지 부분을 봅시다. NVIDIA CUDA Programming Manual 2.3 - Appendix C.1.1 Addition and multiplication are IEEE-compliant, so have a maximum error	]]>
	</description>
	<pubDate>Wed, 15 Dec 2010 21:04:19 +0900</pubDate>
	<dc:creator><![CDATA[병렬 프로그래밍]]></dc:creator>
</item>
<item>
	<title><![CDATA[CUDA Event로 시간측정]]></title>
	<link>http://GoParallel.egloos.com/1969596</link>
	<guid>http://GoParallel.egloos.com/1969596</guid>
	<description>
	<![CDATA[ 
이번은 호스트 프로그램으로 Kernel나 CUDA API의 실행 시간을 측정하는 방법에 대해 설명합니다. Kernel 내부에서의 시간측정에 관해서는 CUDA 프로그램의 시간을 측정하는 - clock()을 참고하세요. 시간측정의 주의점!CUDA API는 그 실행 문맥 중에서 제일 처음에 불린 API는 매우 시간이 걸리는 특징이 있습니다.이것은 CUDA의 초기화 작업을 하고 있기 때문입니다. 그러므로, cudaSetDevice등의 다른 초기화 함수를 부르는지와 최초의 API는 시간에 필요한 시간을 잘 살펴봐야 합니다. 시간측정을 통일합니다.CUDA로 프로그램을 구현하여 프로그램의 성능을 측정할 필요가 있을 때 시간을 측정하는 방법으로 고민하는 일이 있습니다. OS에 의한 시간측정방법과 완전히 다르기 때문에 po	]]>
	</description>
	<pubDate>Tue, 14 Dec 2010 17:49:06 +0900</pubDate>
	<dc:creator><![CDATA[병렬 프로그래밍]]></dc:creator>
</item>
<item>
	<title><![CDATA[CUDA 프로그램의 시간을 측정하는 - clock()]]></title>
	<link>http://GoParallel.egloos.com/1969582</link>
	<guid>http://GoParallel.egloos.com/1969582</guid>
	<description>
	<![CDATA[ 
CUDA에는 clock()라고 하는 편입 함수가 준비되어 있습니다.이것을 사용해 프로그램의 시간을 측정해 봅시다. clock() 함수 clock() 함수는 기기프로그램의 경과시간을 돌려주는 함수입니다.함수를 부르는 것만으로 간단하게 사용할 수 있어서 작은 처리 시간을 측정하는데 편리합니다. #include &amp;lt;stdio.h&amp;gt;    __global__ void calc_clock(int *clock_data, float *out, float *in1, float *in2) {     int tx = threadIdx.x;     unsigned int begin,end;     begin = clock(); // 트리거 시간     out[tx] = in1[tx*4+0]*in2[tx*4+0] + in	]]>
	</description>
	<pubDate>Tue, 14 Dec 2010 17:34:22 +0900</pubDate>
	<dc:creator><![CDATA[병렬 프로그래밍]]></dc:creator>
</item>
<item>
	<title><![CDATA[WriteCombine 메모리액세스를 고속화한다]]></title>
	<link>http://GoParallel.egloos.com/1968122</link>
	<guid>http://GoParallel.egloos.com/1968122</guid>
	<description>
	<![CDATA[ 
cudaHostAlloc로 할당한 WriteCombine 메모리에의 액세스는 보통 메모리에의 액세스와 비교하면 꽤 늦습니다. 조건에 따라 다르지만 수십배〜수백배의 속도 차이가 발생하기도 합니다.  #include &amp;lt;stdio.h&amp;gt;static inline unsigned int rdtsc() {     unsigned int hi, lo;     __asm__ __volatile__(&quot;rdtsc&quot;                          :&quot;=a&quot;(lo), &quot;=d&quot;(hi));     (void) hi;     return lo; }  int main() {     void *p, *dst;    unsigned int begin, end;     size_t size = 10*1024*1024;	]]>
	</description>
	<pubDate>Mon, 13 Dec 2010 10:53:42 +0900</pubDate>
	<dc:creator><![CDATA[MMX,SSE를 이용한 C,C++ 병렬 프로그래밍]]></dc:creator>
</item>
<item>
	<title><![CDATA[Mapped Memory란?]]></title>
	<link>http://GoParallel.egloos.com/1968095</link>
	<guid>http://GoParallel.egloos.com/1968095</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds20.egloos.com/pds/201012/13/71/a0094471_4d05759009ddd.jpg"  
				alt="Mapped Memory란?" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> Mapped Memory란? Mapped Memory는 CUDA 2.2부터 추가된 새로운 기능입니다. 지금까지 CUDA 프로그래밍 구조에서는 Host Memory(호스트머신 위의 메인 메모리)와 Device Memory(GPU상의 비디오메모리)는 완전히 별개의 주소공간 위의 메모리로서 명확하게 나눌 수 있었습니다. 그러나 Mapped Memory를 사용하여 이러한 차이를 명확하게 구별하지 않고 CUDA 프로그래밍을 실시할 수 있게 됩니다. 무엇보다, Mapped Memory를 사용하는 본래의 목적은 위와 같은 편리성보다 실제적인 성능 향상에 있습니다. Host Memory와 Device Memory의 사이의 데이터 전송은 레지스터나 공유 메모리의 액세스에 비하면 훨씬 더 저속 PCI 버스를 통해 실행되기 때	]]>
	</description>
	<pubDate>Mon, 13 Dec 2010 10:23:42 +0900</pubDate>
	<dc:creator><![CDATA[MMX,SSE를 이용한 C,C++ 병렬 프로그래밍]]></dc:creator>
</item>
<item>
	<title><![CDATA[마치며]]></title>
	<link>http://GoParallel.egloos.com/1968065</link>
	<guid>http://GoParallel.egloos.com/1968065</guid>
	<description>
	<![CDATA[ 
NVIDIA는 16년에 걸쳐 세계 최고 속도의 그래픽스 프로세서의 구축에 전념해 왔습니다. 그 때문에 GPU 계산의 선구자가 된 G80 설계와 그것을 큰폭으로 개량 한 GT200도 그래픽스의 기반하에 설계가 되고 있었습니다. 이에 비해 NVIDIA가 제창하는 새로운 방향성을 나타내는 것이 Fermi 설계입니다. GT200의 단순한 후속작이 아니고 GPU라는 것의 역할, 목적, 능력을 다시 고려하여 Fermi는 태어났습니다. Fermi팀은 실행유닛을 늘리는 편한 길을 선택하지 않고 GPU 계산에 수반하는 어려운 문제에 대응하려고 주력 했습니다. Fermi는 2개 레벨의 캐시 계층을 준비하는 것과 동시에 메모리에 대한 로드/스토어의 통과를 통합했습니다. 배정도 연산은 통상적인 슈퍼컴퓨터 수준까지 성능을 강화했고	]]>
	</description>
	<pubDate>Mon, 13 Dec 2010 09:43:40 +0900</pubDate>
	<dc:creator><![CDATA[MMX,SSE를 이용한 C,C++ 병렬 프로그래밍]]></dc:creator>
</item>
<item>
	<title><![CDATA[NVIDIA Nexus(현재 Parallel Nsight)에 대해]]></title>
	<link>http://GoParallel.egloos.com/1968056</link>
	<guid>http://GoParallel.egloos.com/1968056</guid>
	<description>
	<![CDATA[ 
<img 
				src="http://thumb.egloos.net/100x76/http://pds20.egloos.com/pds/201012/13/71/a0094471_4d0569c4171d5.jpg"  
				alt="NVIDIA Nexus(현재 Parallel Nsight)에 대해" 
				width="100px"  
				height="76pxpx"
				align="left"
				style="border:1px solid #DDDDDD;margin:0 10px 10px 0px;"
				/> NVIDIA Nexus는 CUDA C, OpenCL, DirectCompute의 대규모 병렬 응용프로그램개발을 위한 최초의 개발환경입니다. Nexus를 사용하면 Microsoft Windows에 있어서 통합적용 개발환경으로 가장 보급되어 있는 Microsoft Visual Studio에 적용되어 병렬 대응 하드웨어의 원시 코드에 대한 디버깅과 성능 분석이 실시할 수 있습니다. 이전의 CPU 코드와 GPU 코드의 사이에 개발 효율에 큰 차이가 있었지만 이후에는 차이가 없어집니다. Nexus가 등장하여 CPU 코드의 기술과 디버깅에 사용하는 툴과 인터페이스로 GPU 원시 코드의 기술과 디버깅을 실시할 수 있었습니다. 소스 breakpoint나 데이터 breakpoint의 설정, 메모리 검사등을 실시할 수 있습니	]]>
	</description>
	<pubDate>Mon, 13 Dec 2010 09:33:30 +0900</pubDate>
	<dc:creator><![CDATA[MMX,SSE를 이용한 C,C++ 병렬 프로그래밍]]></dc:creator>
</item>
	</channel>
</rss>

