'Programming'에 해당되는 글 1747건

  1. 2013.02.17 CUDA Capability별 기능차이
  2. 2013.02.17 Nvidia GTX 시리즈별 코드네임
  3. 2013.02.17 cuda deviceQuery on GTX650
  4. 2013.02.16 cuda 5.0
  5. 2013.02.15 c++ cout 제어하기
  6. 2013.02.15 c++ inheritance(상속)
  7. 2013.02.15 c++ template
  8. 2013.02.14 Essential C++
  9. 2013.02.14 Windows IME
  10. 2013.02.09 참조에 의한 전달(pass by reference)
Programming/openCL & CUDA2013. 2. 17. 11:11
CUDA_Occupancy_Calculator.xls 파일의 GPU Data 탭참조

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

cuda on ubuntu 12.04 LTS  (0) 2014.01.06
cuda 5.5  (0) 2014.01.06
Nvidia GTX 시리즈별 코드네임  (0) 2013.02.17
cuda deviceQuery on GTX650  (0) 2013.02.17
cuda 5.0  (0) 2013.02.16
Posted by 구차니
Programming/openCL & CUDA2013. 2. 17. 11:04
GTX 200 대는 Telsa 코어
GTX 400/500 대는 Fermi 코어

GTX 600/700대는 Kepler 코어 

[링크 : http://en.wikipedia.org/wiki/GeForce_200_Series]
[링크 : http://en.wikipedia.org/wiki/GeForce_400_Series]
[링크 : http://en.wikipedia.org/wiki/GeForce_500_Series]
[링크 : http://en.wikipedia.org/wiki/GeForce_600_Series]
[링크 : http://en.wikipedia.org/wiki/GeForce_700_Series]

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

cuda 5.5  (0) 2014.01.06
CUDA Capability별 기능차이  (0) 2013.02.17
cuda deviceQuery on GTX650  (0) 2013.02.17
cuda 5.0  (0) 2013.02.16
cuda shared memory의 결합법칙?  (0) 2012.09.20
Posted by 구차니
Programming/openCL & CUDA2013. 2. 17. 10:52
특이사항으로는
2 Multiprocessor 에 개당 192개의 CUDA core란거?
그러고 보니.. 블럭당 shared memory도 48KB로 늘어난것 같은데..

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\bin\win32\Release>deviceQuery.exe
deviceQuery.exe Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 650"
  CUDA Driver Version / Runtime Version          5.0 / 5.0
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 1024 MBytes (1073741824 bytes)
  ( 2) Multiprocessors x (192) CUDA Cores/MP:    384 CUDA Cores
  GPU Clock rate:                                1059 MHz (1.06 GHz)
  Memory Clock rate:                             2500 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 262144 bytes
  Max Texture Dimension Size (x,y,z)             1D=(65536), 2D=(65536,65536), 3D=(4096,4096,4096)
  Max Layered Texture Size (dim) x layers        1D=(16384) x 2048, 2D=(16384,16384) x 2048
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Maximum sizes of each dimension of a block:    1024 x 1024 x 64
  Maximum sizes of each dimension of a grid:     2147483647 x 65535 x 65535
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  CUDA Device Driver Mode (TCC or WDDM):         WDDM (Windows Display Driver Model)
  Device supports Unified Addressing (UVA):      No
  Device PCI Bus ID / PCI location ID:           1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 5.0, CUDA Runtime Version = 5.0, NumDevs = 1, Device0 = GeForce GTX 650


2012/06/02 - [Programming/openCL / CUDA] - CUDA devicequery - ION 330
2011/01/02 - [Programming/openCL / CUDA] - deviceQuery on 8600GT 512MB + CUDA 하드웨어 구조

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

CUDA Capability별 기능차이  (0) 2013.02.17
Nvidia GTX 시리즈별 코드네임  (0) 2013.02.17
cuda 5.0  (0) 2013.02.16
cuda shared memory의 결합법칙?  (0) 2012.09.20
cudaMalloc 시작 위치?  (0) 2012.07.11
Posted by 구차니
Programming/openCL & CUDA2013. 2. 16. 20:44
...


버전만 올라가는구나..
내 능력은 그대로인데 ㅠ.ㅠ


그래픽 카드도 GTX650 으로 질렀으니 공부좀 하자!!! ㅠ.ㅠ





[링크 : https://developer.nvidia.com/cuda-downloads]

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

Nvidia GTX 시리즈별 코드네임  (0) 2013.02.17
cuda deviceQuery on GTX650  (0) 2013.02.17
cuda shared memory의 결합법칙?  (0) 2012.09.20
cudaMalloc 시작 위치?  (0) 2012.07.11
cudemMemcpy()  (0) 2012.06.07
Posted by 구차니
Programming/C++ STL2013. 2. 15. 23:52
그냥 sprintf 쓰는게 편할지도..

#include <iomanip>
를 포함해서 사용하며
setiosflag()
setfill()
setw()
setprecision()
함수등을
"cout <<" 이후에 넣어서 설정을 하여 사용한다.


[링크 : http://arachnoid.com/cpptutor/student3.html]
[링크 : http://www.cplusplus.com/reference/iolibrary/]
[링크 : http://msdn.microsoft.com/ko-kr/library/943z481t.aspx]

'Programming > C++ STL' 카테고리의 다른 글

c++ namespace  (0) 2013.03.04
c++ class와 struct  (0) 2013.03.03
c++ inheritance(상속)  (0) 2013.02.15
c++ template  (0) 2013.02.15
Essential C++  (0) 2013.02.14
Posted by 구차니
Programming/C++ STL2013. 2. 15. 23:44
java를 안쓰고 c만 쓰다 보니
class나 class의 상속에 대한 개념만 알지, 직접 사용해본적이 없어서 잘 모르겠지만..

아무튼 java의 extend 키워드 대신 c++에서는
: 를 이용해서 상속을 하게 된다.

그리고 java에서는 복잡성의 문제로 다중상속을 지원하지 않지만
c에서는 다중상속을 지원하므로 , 로 여러개의 클래스를 적어줄 수 있다.

class derived_class_name: public base_class_name;
class derived_class_name: public base_class_name, public base_class_name;

[링크 : http://www.cplusplus.com/doc/tutorial/inheritance/



다중상속 예
class CRectangle: public CPolygon, public COutput; // CPolygon과 COutput 클래스로 부터 상속
class CTriangle: public CPolygon, public COutput;

'Programming > C++ STL' 카테고리의 다른 글

c++ class와 struct  (0) 2013.03.03
c++ cout 제어하기  (0) 2013.02.15
c++ template  (0) 2013.02.15
Essential C++  (0) 2013.02.14
참조에 의한 전달(pass by reference)  (0) 2013.02.09
Posted by 구차니
Programming/C++ STL2013. 2. 15. 23:38
template의 식별자로서
typename 과 class는 키워드만 다를뿐 동일한 작동을 한다고 한다.

template <class identifier> function_declaration;
template <typename identifier> function_declaration;

[링크 : http://www.cplusplus.com/doc/tutorial/templates/


---
타입을 넣지 않고 숫자만 해도 일단은 되는데 아마도 이러면 int 형으로 인식을 하겠..지?

#include <iostream>

using namespace std;

template <class myType>
myType GetMax (myType a, myType b)
{
        return (a>b?a:b);
}

int main()
{
        cout << GetMax(1,2);
        return 0;
} 

아무튼, template <> 안에 갯수에 따라서 그거 보다 작은 숫자의 형을 지정할 수는 있지만 그걸 넘는 숫자를 지정할 수는 없다.
template <class myType>
myType GetMax (myType a, myType b)
{
        return (a>b?a:b);
}

int a,b;

GetMax<int>(a,b); // okay
GetMax<int,int>(a,b); // error

---
int a;
short b;
GetMax<int>(a,b); // okay 

그나저나.. short 형으로 해도 큰 문제는 없지만(영역을 안 넘으면) char로 하면
C에서 처럼 0~255 범위가 아닌 문자로 인식을 하기 때문에 비교를 제대로 못하는 것 같이 작동한다.
template <class T, class U>
T GetMin (T a, U b)
{
  return (a<b?a:b);
}


int a;
short b;
GetMin<int>(a,b); //okay
GetMin<int,int>(a,b); //okay

'Programming > C++ STL' 카테고리의 다른 글

c++ cout 제어하기  (0) 2013.02.15
c++ inheritance(상속)  (0) 2013.02.15
Essential C++  (0) 2013.02.14
참조에 의한 전달(pass by reference)  (0) 2013.02.09
C++ 첫걸음 *-_-*  (0) 2013.02.09
Posted by 구차니
Programming/C++ STL2013. 2. 14. 23:59
시간이 없어서, 피곤해서 잘 못읽고 있는데
c++ 내용을 압축해서 하다 보니 읽기에는 좋은듯 한 책이다.


아무튼 C의 확장으로서 C++을 설명하는데
객체지향 보다는 템플렛을 이용한 범용 프로그래밍(제너릭 프로그래밍)이
오히려 C++의 강점이 아닐까? 라는 생각이 들게 한 책이다.

책 내용이 객제지향보다 제너릭 프로그래밍이 먼저인 이유가 있다면 말이다..


아무튼, stdlib 등에서 제공하는 sort등을 써본적이 없이 직접구현했던 이유중에 하나가
라이브러리로 존재하지만 이걸 사용하기에는 부족한게 많았고 변형하다 보면
결국에는 새로 짜는 셈이 되다보니 활용도가 낮았는데

c++ 에서는 이러한 표준 라이브러리의 효율성을 올리기 위해 변수 타입을 주고 받고
템플릿을 통해 범용 함수를 만들고, 함수 객체를 통해 손쉽게 함수 포인터를 대체 함으로서
더욱 강력하고 안정적이며 빠른 프로그래밍을 추구한 느낌을 받았다.
이에 비하면 객체지향은 구색 맞추기라는 느낌이라고 해야하려나..



템플렛(template)은 두개의 키워드 template와 typename으로 선언되고 추가적으로  < >를 사용한다.
template <typename T> return_type function name(T val)

T는 매크로 처럼 치환되어 여러개의 함수가 타입별로 생성되는 효과를 지닌다.
자세한건 짜보고 정리..

[링크: http://ikpil.com/725]

'Programming > C++ STL' 카테고리의 다른 글

c++ inheritance(상속)  (0) 2013.02.15
c++ template  (0) 2013.02.15
참조에 의한 전달(pass by reference)  (0) 2013.02.09
C++ 첫걸음 *-_-*  (0) 2013.02.09
unsigned char -> int 변환 주의사항  (0) 2013.02.04
Posted by 구차니
Programming/C Win32 MFC2013. 2. 14. 22:52

'Programming > C Win32 MFC' 카테고리의 다른 글

printf의 %s와 %S  (0) 2013.06.15
win32api - joystick 예제  (0) 2013.06.15
== 와 = 의 실수를 피하기 위한 트릭  (2) 2013.01.06
c 변수범위 헤더  (0) 2012.07.02
엔디안 / endian  (2) 2012.06.14
Posted by 구차니
Programming/C++ STL2013. 2. 9. 21:56
에센셜 C++ 보다가 함수인자에서 포인터 변수가 아닌 이상한 녀석이 나타나서 순간 멘붕

int add(int *a, int *b) 가 c 스타일이라면
int add(int &a, int &b) 가 c++ 스타일(?)

무슨 차이인지는 일단 조사해 봐야겠지만, 문법의 유사함은 존재하지만 엄연히(!) c++ 용 문법인 듯.
내가 모르던건가? 내가 잘못쓴건가? 한 30분 고민했네 -_-

[링크 : http://www.learncpp.com/cpp-tutorial/73-passing-arguments-by-reference/]

---
[링크 : http://warmz.tistory.com/854] 생성/소멸자에 의한 오버헤드 테스트
[링크 : http://en.wikipedia.org/wiki/Evaluation_strategy]

'Programming > C++ STL' 카테고리의 다른 글

c++ template  (0) 2013.02.15
Essential C++  (0) 2013.02.14
C++ 첫걸음 *-_-*  (0) 2013.02.09
unsigned char -> int 변환 주의사항  (0) 2013.02.04
템플릿 메타프로그래밍  (0) 2013.01.06
Posted by 구차니