4월 26일 (금) 오후 9:43

logo

  • home
  • head
  • itnews
  • product
  • mobile
  • game
  • benchmark
  • analysis
  • blog

개봉 2024.06.05. / 장르 드람 / 국가 대한민국 감독 : 조지 밀러 출연 : 안야 테일러 조이, 크리스 헴스워스 등 ...
개봉 2024.05.22. / 장르 액션 / 국가 미국 감독 : 조지 밀러 출연 : 안야 테일러 조이, 크리스 헴스워스 등 ...
조회 수 3984

CUDA ("Compute Unified Device Architecture", 쿠다)는 그래픽 처리 장치(GPU)에서 수행하는 (병렬 처리) 알고리즘을 C 프로그래밍 언어를 비롯한 산업 표준 언어를 사용하여 작성할 수 있도록 하는 GPGPU 기술이다. CUDA는 엔비디아가 개발해오고 있으며 이 아키텍처를 사용하려면 엔비디아 GPU와 특별한 스트림 처리 드라이버가 필요하다. CUDA는 G8X GPU로 구성된 지포스 8 시리즈급 이상에서 동작한다. CUDA는 CUDA GPU 안의 명령셋과 대용량 병렬 처리 메모리를 접근할 수 있도록 해 준다.

 

개발자는 패스스케일 오픈64 C 컴파일러로 컴파일 된 '쿠다를 위한 C' (C언어를 엔비디아가 확장한 것) 를 사용하여 GPU 상에서 실행시킬 알고리듬을 작성할 수 있다. 쿠다 구조는 일련의 계산 인터페이스를 지원하며 이에는 OpenCL, DirectX Compute가 포함된다. C 언어가 아닌 다른 프로그래밍언어에서의 개발을 위한 래퍼(Wrapper)도 있는데, 현재 파이썬, 포트란, 자바와 매트랩 등을 위한 것들이 있다.

최신 드라이버는 모두 필요한 쿠다 콤포넌트를 담고 있다. 쿠다는 모든 엔비디아 GPU (G8X 시리즈 이후) 를 지원하며 이 대상에는 지포스, 쿼드로, 테슬라 제품군이 포함된다. 엔비디아는 지포스 8 시리즈를 위해 개발된 프로그램들은 수정 없이 모든 미래의 엔비디아 비디오 카드에서 실행될 것이라고 선언하였다.

 

쿠다를 통해 개발자들은 쿠다 GPU 안 병렬 계산 요소 고유의 명령어 집합과 메모리에 접근할 수 있다. 쿠다를 사용하여 최신 엔비디아 GPU를 효과적으로 개방적으로 사용할 수 있다. 그러나 CPU와는 달리 GPU는 병렬 다수 코어 구조를 가지고 있고, 각 코어는 수천 스레드를 동시에 실행시킬 수 있다. 응용 프로그램이 수행하는 작업(계산)이 이러한 병렬처리연산에 적합할 경우, GPU를 이용함으로써 커다란 성능 향상을 기대할 수 있다.

 

컴퓨터 게임 업계에서는 그래픽 랜더링에 덧붙여, 그래픽 카드를 게임 물리 계산 (파편, 연기, 불, 유체 등 물리 효과)에 사용되며, 예로는 피즈 엑스와 불렛이 있다. 쿠다는 그래픽이 아닌 응용 프로그램, 즉, 계산 생물학, 암호학, 그리고 다른 분야에서 10배 또는 그 이상의 속도 혜택을 가져왔다. 이 한 예는 BOINC 분산 계산 클라이언트 이다.

 

쿠다는 저수준 API와 고수준 API 모두를 제공한다. 최초의 CUDA SDK는 2007년 2월 15일에 공개되었으며 마이크로소프트 윈도우즈와 리눅스를 지원했다. 맥 OS X지원은 2.0 버전에 추가되었다.

 

이점


쿠다가 그래픽 API를 사용하는 전통적인 범용 GPU에 비해 가지는 몇가지 장점은 다음과 같다.

 

흩뿌린 읽기 - 코드가 메모리의 임의 위치에서 데이터를 읽을 수 있다.
공유 메모리 - 쿠다는 고속 공유 메모리 지역 (16KB 크기) 을 드러내어 스레드 간에 나눌 수 있게 해 준다. 이는 사용자 관리 캐시로 사용될 수 있는데, 텍스처 룩업을 이용하는 경우 보다 더 빠른 대역폭이 가능해진다.
GPU와의 읽기, 쓰기가 더 빠르다.
정수와 비트 단위 연산을 충분히 지원한다. 정수 텍스처 룩업이 포함된다.

 

 

제한 

 

재귀호출, 함수 포인터가 없는 C 언어의 하부 집합을 확장하여 사용한다. 그러나 한개의 처리 장치가 여러개의 쪼개진 메모리 공간에 대하여 작업하여야 하는 점이 다른 C 언어 실행 환경과 다른 점이다.


텍스처 랜더링은 지원 되지 않는다.


배정도에 관해서는 IEEE 754 표준과 다르지 않다. 단정도에서는 비정상값과 신호 NaN이 지원되지 않고, IEEE 반올림 모드 가운데서는 두가지만 지원하며, 이도 명령어에 따라서 지원되는 것으로 제어 단어(Control word)에서 지원 되는 것은 아니다.(이것이 제한점인지는 논란의 대상이 될 수 있다) 그리고 나눗셈과 제곱근의 정밀도가 단정도에 비해 조금 낮다.


CPU와 GPU 사이의 버스 대역폭과 시간 지연에서 병목이 발생할 수 있다.


스레드가 최소한 32개씩 모여서 실행되어야 최선의 성능 향상을 얻을 수 있으며, 스레드 수의 합이 수천개가 되어야 한다. 프로그램 코드에서의 분기는, 각각의 32 스레드가 같은 실행 경로를 따른다면, 성능에 큰 지장을 주지 않는다. SIMD 실행 모델은 어떠한 내재적으로 분기하는 임무에게는 심각한 제한이 된다. (예를 들어, 광선 추적 가속 자료 구조)


쿠다 기반 GPU는 엔비디아에서만 나온다.

 


예제----------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

import pycuda.driver as drv
import numpy
import pycuda.autoinit

mod = drv.SourceModule(
"""
__global__ void multiply_them(float *dest, float *a, float *b)
{
  const int i = threadIdx.x;
  dest[i] = a[i] * b[i];
}
"""
)

multiply_them = mod.get_function("multiply_them")

a = numpy.random.randn(400).astype(numpy.float32)
b = numpy.random.randn(400).astype(numpy.float32)

dest = numpy.zeros_like(a)
multiply_them(
        drv.Out(dest), drv.In(a), drv.In(b),
        block=(400,1,1))

print dest-a*b
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

지원하는 GPU


아래의 표에는 공식적으로 CUDA를 지원하는 장치를 나열한 것이며 수많은 응용 프로그램들은 적어도 256 MB의 비디오 램을 요구한다.: CUDA를 사용할 수 있는 GPU 제품.

 

엔비디아 지포스

지포스 4시리즈

지포스 GTX 295

지포스 GTX 285
지포스 GTX 280
지포스 GTX 260
지포스 GTS 250
지포스 9800 GX2
지포스 9800 GTX+
지포스 9800 GTX
지포스 9800 GT
지포스 9600 GSO
지포스 9600 GT
지포스 9500 GT
지포스 9400 GT
지포스 8800 울트라
지포스 8800 GTX
지포스 8800 GTS
지포스 8600 GTS
지포스 8800 GT
지포스 8800 GS
지포스 8600 GTS
지포스 8600 GT
지포스 8500 GT
지포스 8400 GS
지포스 8300 mGPU
지포스 8200 mGPU
지포스 8100 mGPU
엔비디아 지포스 모바일
지포스 9800M GTX
지포스 9800M GTS
지포스 9800M GT
지포스 9700M GTS
지포스 9700M GT
지포스 9650M GS
지포스 9600M GS
지포스 9500M GS
지포스 9500M G
지포스 9300M GS
지포스 9300M G
지포스 9200M GS
지포스 9100M G
지포스 8800M GTS
지포스 8700M GT
지포스 8600M GT
지포스 8600M GS
지포스 8400M GT
지포스 8400M GS
지포스 8400M G
지포스 8200M G
엔비디아 테슬라
테슬라 S1070
테슬라 C1060
테슬라 C870
테슬라 D870
테슬라 S870
엔비디아 쿼드로
쿼드로 FX 5600
쿼드로 FX 4700 X2
쿼드로 FX 4600
쿼드로 FX 3700
쿼드로 FX 1700
쿼드로 FX 570
쿼드로 FX 370
쿼드로 NVS 290
쿼드로 FX 3600M
쿼드로 FX 1600M
쿼드로 FX 570M
쿼드로 FX 370M
쿼드로 플렉스 1000 모델 IV
쿼드로 플렉스 1000 모델 S4
엔비디아 쿼드로 모바일
쿼드로 NVS 360M
쿼드로 NVS 140M
쿼드로 NVS 135M
쿼드로 NVS 130M

 






  1. 라우터(ROUTER) 명령어 모음

    backspace : 한 문자를 삭제 bandwidth : 시리얼 인터페이스에 대역폭을 세팅 banner : 라우터에 로그인하는 사용자를 위한 배너 생성 clear counters : 인터페...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  2. 유용한 리눅스 명령어 모음

    adduser : 유저를 만들때 사용하는 명령 cd (change directory) : 디렉토리(윈도우에선 폴더) 변경할때 사용 chmod (change mode) : 파일의 허가상태 변경 chown (change owner) : 파일 소유권 병경 cp...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  3. 윈도우 텔넷(telnet) 명령어 모음

    ■ ls : 현재 파일을 보여줍니다. 일반적으로 여러 옵션을 줄수 있습니다 ■ ls -al : 파일의 크기부터 파일의 퍼미션, 그리고 히든 파일까지 보여줍니다 ■ ls -at : 파일이 생성된 시간까지 보...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  4. L4/L7 스위치의 대안, 오픈 소스 로드 밸런서 HAProxy

    Ncloud에서 하드웨어로 구성된 기존의 로드 밸런서(load balancer)를 대체할 수 있는 솔루션을 찾던 중 소프트웨어 로드 밸런서인 HAProxy를 검토하게 됐습니다. HAProxy를 검토하면서 정리한 자료와 사내 ...
    Date2015.09.25 CategoryIT KNOWLEDGE
    Read More
  5. 인 메모리 (In-memory Database)

    인메모리 데이터베이스(In-memory Database)는 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템이다. 디스크에 설치되는 방식에 비해 처리 속도가 빠르...
    Date2015.08.28 CategoryIT KNOWLEDGE
    Read More
  6. MySQL(Structured Query Language)

    1.MySQL 이란 무엇인가? 표준 데이터베이스 질의 언어인 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 시스템(RDBMS). 매우 빠르고, 유...
    Date2015.08.03 CategoryIT KNOWLEDGE
    Read More
  7. NUMA와 SMP(Symmetric Multi Processing)

    하드웨어가 발전하면서 하나의 메인보드에 여러개의 CPU, 버스, 메모리 컨트롤러를 구성할 수 있게 되었습니다. Numa는 간단하게 CPU와 메모리가 한 Set를 이루는 것을 의미합니다. [그림1] Numa 관...
    Date2015.06.15 CategoryIT KNOWLEDGE
    Read More
  8. 프로비저닝과 멀티테넌트 (Provisioning,Multi Tenant)

    프로비저닝(Provisioning)이란? 사전적의미 - 준비, 예비, 설비 make provisioning=준비하다 [IT에서 사용하는 의미] 무엇인가 여럿 중에 최적인 것을 찾기 위해 필요한 지...
    Date2015.05.29 CategoryIT KNOWLEDGE
    Read More
  9. QoS 이론 및 기초

    1. 트래픽 관리의 기초 "인터넷이 왜 이렇게 느려요?" "네트워크 접속이 잘 안되거든요?" 이 말은 네트워크 관리자들이 가장 듣기 싫어하는 말 중의 하나죠. ^^ 하지만 아무리 골치아픈 상...
    Date2015.05.11 CategoryIT KNOWLEDGE
    Read More
  10. NPS / RADIUS 서버

    NPS ( Network Policy Server ) 네트워크 정책 서버는 MS사에서 부른 명칭으로서 일반적으로 정식 명칭은 RADIUS ( Remote Authentication Dial-In User Service ) Server이다. @ RADIUS Server 구성 ...
    Date2015.04.18 CategoryIT KNOWLEDGE
    Read More
  11. DNS 정의와 계층 구조

    DNS 개관, 역사, 표준 초기 DNS의 개발과 계층 도메인으로의 이동1981년 9월 발표된 RFC 799, "Internet name domains"이 처음으로 이 개념을 도입실제로 도메인 자체보다는 도메인 간의 이메일 전송 ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  12. MBR & GPT 구조적 차별성

    MBR(Master Boot Record)와 GPT(GUID Partition Table)의 구조적 차이 - 윈도우에서 사용할 수 있는 디스크 종류는 크게 2가지가 있다. : 전통적인 BIOS 방식의 시스템에서 사용되는 디스크 형식인 MBR 디...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  13. 서브넷 마스크 정의 및 나누기

    비트 서브넷 갯수 호스트 갯수 서브넷 주소 서브넷 표기/25 2 128 0,128 128/26 4 64 0,64,128,192 192/27 8 32 0,32,64,96,128,160,192,224 224/28 16 16 0,16,32,48,64,80,96,11...
    Date2015.04.09
    Read More
  14. OFDM (Orthogonal Frequency Division Multiplexing)

    OFDM (Orthogonal Frequency Division Multiplexing) => OFDM이란 주파수 분할 다중화 방식(FDM)보다 진보된 기술로 직교성을 갖고 있다. OFDM을 설명하기 앞서서 Single Carrier와 Multi Car...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  15. 4G 이야기 - IEEE 802 무선 기술의 흐름

    광대역 통합망인 BcN은 무선 가입자망, 유선 가입자망, 방송 가입자망으로 크게 나눕니다. 무선 가입자망은 WiBro, WCDMA, HSDSPA, CDMA, 4G 등이 있을 것입니다. 향후 BcN에서는 유무선 통합망, 유무선 통...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  16. 무선 인터넷 망의 종류와 특성 (HSPDA,EV-DO,LTE-A 등)

    국내 무선 망의 현황 현재 한국은 CDMA-2000 의 무선 기술로 3G (3세대)에 이어 4G LTE가 보급되었다. ITU-T 4세대 표준은 Wi-Bro를 개선한 Wibro Advanced 와 LTE를 개선한 LTE-A 을 말한다. ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  17. WINS(Windows Internet Name Service) 정의 / 서버 설치

    마이크로소프트의 네트워크 환경에서 여러 가지 서비스를 하는 서버들이 있지만, 역시 빼 놓을 수 없는 서비스가 하나 있다. Windows NT4.0 에 비하면 Windows 2000 환경에서는 그 역할이 많이 줄어들었지...
    Date2015.04.09
    Read More
  18. 스토리지 레이드 구성 정의 (RAID0,1,2,3,4,5,6,10)

    정의 Redundant Array of Inexpensive/Independent Disk 저장장치 여러 개를 묶어 고용량·고성능 저장 장치 한 개와 같은 효과를 얻기 위해 개발된 기법이다. 초기에는 업그레이드 후 '폐기하기엔 아깝...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  19. Iaas, Paas, SaaS, HaaS, BaaS 개념

    클라우드 서비스에 사용되는 as a Service 개념에 대해서 알아 본다. [그림 : https://www.simple-talk.com/cloud/development/a-comprehensive-introduction-to-cloud-computing/] [IaaS ...
    Date2015.04.09
    Read More
  20. EIGRP(Enhanced Interior Gateway Routing Protocol) 이론 정리

    EIGRP(Enhanced Interior Gateway Routing Protocol)은 시스코에서 개발한 Distance Vector 라우팅 프로토콜이다. 단, Distance Vector 라우팅 프로토콜과 Link State 라우팅 프로토콜의 장점만을 채택했다...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  21. TCP/UDP 이더넷 패킷 구조

    - 크기 : 바이트 (실제값 설명) * Ethernet header : 14 - 목적지 MAC 주소 : 6 - 출발지 MAC 주소 : 6 - 타입 : 2 (0x0800=이더넷) - 데이터 : 46~1500 (IP Header + TCP 헤더 + TCP ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  22. SSD 구조 및 원리, 기술 설명

    타이틀 세부설명 Alignment (정렬) Alignment는 저장 장치의 파티션 정렬을 의미합니다. 이것은 최적의 성능을 만들기 위하여 파티션의 시작점을 결정하는 것...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  23. 리눅스(linux)vs유닉스(unix) 역사 및 차이 비교

    History of Unix 1960년대 GE(General Electrics) 는 MIT, AT&T Bell Labs 과 컴퓨터 개발을 시작하였다. 그들이 만든 GE645로 알려진 컴퓨터와 OS 인 Multics 는 멀티 태스크 기능에서 뛰어난 성능을 ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  24. DAS, NAS, SAN 스토리지

    Chris Evans 09.28.2009 www.nextreme.co.kr 데이터센터 통합과 비용절감은 엔터프라이즈 데이터 스토리지 환경에서 가상서버 기술의 지속적인 도입을 가져왔다. 주요 벤더 Microsoft, VMWARE, Xe...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  25. iSCSI란 무엇이며 어떤 이점이 있습니까?

    iSCSI(Internet Small Computer System Interface)는 인터넷 프로토콜(IP) 기반의 스토리지 네트워킹 표준이며 데이터 스토리지 장치의 연결에 사용됩니다. SCSI 명령을 IP 네트워크를 이용해 전달함으로써...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  26. PCI 익스프레스 1.0/2.0/3.0/4.0

    PCI 익스프레스(PCI Express)는 2002년 PCI SIG가 책정한 입출력을 위한 직렬 구조의 인터페이스이며 인텔 주도하에 만들어졌다. 공식적인 약어로 PCIe로 표기한다. 옛 PCI, PCI-X와 AGP 버스를 대체하기 ...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
  27. DB(데이터베이스) / SQL

      [ DB ] 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 말한다. 자료항목의 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높...
    Date2015.04.09
    Read More
  28. TCP 통신 방식 3way handshake (SYN, SYN/ACK, ACK)

    Client와 Server 또는 P2P Socket 통신 등, 네트워크를 사용한 통신시 TCP 통신을 많이 사용한다. TCP 통신을 위한 네트워크 연결은 3 way handshake 라는 방식으로 연결된다. 쉽게 이야...
    Date2015.04.09 CategoryIT KNOWLEDGE
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7