728x90

이 프로그램은 클래스 다이어그램을 그릴 때 유용한 무료 프로그램이다.


사용방법 : http://staruml.sourceforge.net/docs/user-guide(ko)/ch01.html


다운로드 주소 : http://staruml.io/download

728x90

'Dev Tool' 카테고리의 다른 글

Dev Tool - TortoiseSVN  (0) 2017.02.23
Dev Tool - depends22  (0) 2016.10.14
Dev Tool - Doxygen  (0) 2016.04.04
Dev Tool - Beyond Compare  (0) 2016.02.24
Dev Tool - Debug View  (0) 2016.02.24
728x90

Beyond Compare는 파일 비교 프로그램이다.

이 프로그램을 이용하여 소스 코드를 비교하여 어느 부분을 수정했는지 확인하는 것도 가능하다.


Beyond Compare 이외에도 Araxis, Win Merge 등 파일 비교 프로그램의 종류는 많다. 


나의 경우에는 처음 접하고 계속 써온 것이 Beyond Compare이기 때문에 그냥 이것을 사용하고 있다.


하지만 유료 프로그램이기 때문에 구입을 해서 사용해야한다....


무료 시험판 다운로드 주소 : http://beyond_compare.ko.downloadastro.com/


30일 초기화 방법

1. regedit 실행

2. \HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4

3. CacheID 삭제

728x90

'Dev Tool' 카테고리의 다른 글

Dev Tool - TortoiseSVN  (0) 2017.02.23
Dev Tool - depends22  (0) 2016.10.14
Dev Tool - Doxygen  (0) 2016.04.04
Dev Tool - StarUML  (0) 2016.02.24
Dev Tool - Debug View  (0) 2016.02.24
728x90

DebugView는 디버그 메세지를 확인하는데 쓰이는 가장 범용적인 도구중 하나이다.

사용방법은 간단하다. Windows.h에 들어있는 기본적인 API를 사용하면 된다.



물론 이것은 Visual Studio에서 '디버깅 시작' 으로 실행을 했다면, DebugView 대신 Visual Studio의 '출력' 창에 메세지가 뜨게 될 것이다. DebugView에서 보고 싶다면 '디버깅하지 않고 시작'으로 실행을 하면 된다.


ps. TRACE() 역시 DebugView에서 볼 수 있다. 


다운로드 주소 : https://technet.microsoft.com/ko-kr/sysinternals/debugview.aspx




728x90

'Dev Tool' 카테고리의 다른 글

Dev Tool - TortoiseSVN  (0) 2017.02.23
Dev Tool - depends22  (0) 2016.10.14
Dev Tool - Doxygen  (0) 2016.04.04
Dev Tool - StarUML  (0) 2016.02.24
Dev Tool - Beyond Compare  (0) 2016.02.24
728x90

CUDA 코드는 앞에서 다 봤기 때문에 더 설명할 내용은 없는 듯 하다.



- 소스 코드 -

main.cpp

texture_2d.cu


728x90

'Parallel Programming > CUDA' 카테고리의 다른 글

CUDA - 시간 측정  (0) 2016.02.26
CUDA - 2차원 배열의 할당과 이용  (0) 2016.02.25
CUDA - 그래픽스 상호운용 - 5  (0) 2016.02.24
CUDA - 그래픽스 상호운용 - 4  (0) 2016.02.19
CUDA - 그래픽스 상호운용 - 3  (0) 2016.02.19
728x90

이번엔 RunKernels()에 대해 한번 보자.



앞에서 cudaGraphicsMapResource()로 주소 공간을 할당한 것을 cudaGraphicsSubResourceGetMappedArray()를 이용하여 배열로 반환 받는다.

cuda_texture_2d()는 예제에서 구현된 함수로 다음 장에 작성하겠다.

cudaMemcpy2DToArray()는 이름대로 2차원 배열을 복사한다.

728x90
728x90


이 함수를 호출 함으로써 DirectX와 CUDA 양쪽에서 ID3D11Resource를 사용할 것이라고 CUDA 런타임에게 명시할 수 있다. CUDA 런타임은 변수 resource를 통해 버퍼를 가리키는 CUDA 전용 핸들을 하나 반환한다. 이 핸들은 차후에 CUDA 런타임의 API를 호출시 ID3D11Resource를 참조하기 위해 사용될 것이다.

이 함수는 아래 사이트에서 확인하자.

https://www.cs.cmu.edu/afs/cs/academic/class/15668-s11/www/cuda-doc/html/group__CUDART__D3D11_gf0545f2dd459ba49cfd6bcf2741c5ebd.html



cudaMallocPitch()는 CUDA에서 2차원 배열을 생성하는 함수이다. C처럼 2차원 배열을 만들 수 없기 때문에 이렇게 따로 함수가 있다. 이것에 대해서는 다음에 다시 글을 작성하도록 하겠다.

cudaMemset()은 말 그대로 값 세팅을 한다.



cudaGraphicsMapResources()는 앞에서 ppResource를 CUDA에 주소를 할당하고, cudaGraphicsUnmapResources()은 ppResource의 주소 할당을 해제한다.



728x90
728x90

앞의 함수들을 호출했다면, 이제 DirectX를 초기화 해야한다.


앞에서 g_pCudaCapableAdapter를 구했었다. 이 변수를 이용해서 D3D11의 Device를 생성해야한다.

이때 주의해야 할 점은 D3D11CreateDevice()를 사용할 때 첫 번째 인자로 Adapter를 지정했다면, 두 번째 인자는 D3D_DRIVER_TYPE_UNKNOWN으로 반드시 지정해야 한다.


그리고 CUDA Adapter를 이용하여 Device를 생성했다면, 이제 CUDA에도 D3D Device를 지정해줘야 한다.


728x90
728x90


이 함수는 ::IDXGIFactory::EnumAdapters에서 찾은 Adapter에 해당하는 CUDA 호환 장치를 *device에 넣어 반환한다.

이 함수는 Adapter가 CUDA를 지원해야만 성공적으로 cudaSuccess 리턴을 한다.




다음 함수는 Cuda를 지원하는 Device를 찾아 IDXGIAdapter의 변수 g_pCudaCapableAdapter에 저장하는 함수이다.

이 g_pCudaCapableAdapter는 이후 D3D11CreateDeviceAndSwapChain()를 할 때 사용된다,




728x90

'Parallel Programming > CUDA' 카테고리의 다른 글

CUDA - 그래픽스 상호운용 - 4  (0) 2016.02.19
CUDA - 그래픽스 상호운용 - 3  (0) 2016.02.19
CUDA - 그래픽스 상호운용 - 1  (0) 2016.02.19
CUDA - 스레드 동기화  (0) 2015.12.11
CUDA - 메모리의 계층 구조  (0) 2015.12.10

+ Recent posts