본문 바로가기

Programming

[C++]백준 4673번:셀프 넘버 https://www.acmicpc.net/problem/4673 #include using namespace std; int d(int n); int main() {int number[10000] = { 0 }; for (int i = 1; i < 10000; i++) {int n = 0;n = d(i);if (n 더보기
[C++]백준 1110번:더하기 사이클 https://www.acmicpc.net/problem/1110 #include using namespace std; int main() {int N;int A[2] = {0};do{cin >> N;} while (0 > N || N > 99);A[0] = N / 10;A[1] = N % 10;int sum_new, cnt;sum_new = cnt = 0;do{int sum = A[0] + A[1];sum_new = (10 * A[1]) + (sum % 10);cnt++;A[0] = sum_new / 10;A[1] = sum_new % 10;} while (sum_new != N);cout 더보기
[C++]백준 4344번:평균은 넘겠지 https://www.acmicpc.net/problem/4344 #include using namespace std; int main() {int C, N; int score[1000] = { 0 };double percentage[1000] = { 0 }; cin >> C ; for(int i = 0; i > N; int sum = 0;for (int j = 0; j > score[j];sum += score[j];}int avg = sum / N;int moreThanavg = 0;for (int k = 0; k avg) moreThanavg++;percentage[i] = (double)moreT.. 더보기
[C++]백준 10871번:X보다 작은 수 https://www.acmicpc.net/problem/10871 #include using namespace std; int main() {int N, X; int A[10000] = { 0 }; cin >> N >> X;for (int i = 0; i > A[i];for (int i = 0; i < N; i++)if (A[i] < X) cout 더보기
스레드 블록 아키텍처(Thread Block Architecture) - CUDA 스레드 모델 01. CUDA 스레드 모델 1.1 CPU의 스레드, 태스크 분할 CPU환경에서 생성하는 스레드는 생성 즉시 실행 코드가 프로세서에서 실행된다. 생성한 스레드의 개수와 CPU의 코어 수가 동일하면 최적의 효율을 나타내지만, 코어 수보다 많아지면 시분할 스케줄로 동작하게 되어 효율이 떨어진다. 병렬처리에서 효율성을 높이는 방법은 태스크(Task) 분할 방식으로 작업을 처리하는 것이다. | 태스크 분할 처리과정 ① 스레드의 개수를 코어 수와 동일하게 생성한다.② 해야 할 작업을 태스크 단위로 작게 분할하여 태스크 큐에 넣는다.③ 스레드가 작업을 태스크 단위로 가져와서 처리한다.④ 스레드가 하나의 태스크를 완료하면 다음 태스크를 큐에서 가져와서 다시 작업을 수행한다. 태스크란?https://kyulingcom.. 더보기
CUDA 프로그램 준비 - CUDA C언어 CUDA C 언어 CUDA C언어의 목적 : C언어에 가까운 프로그램 언어를 제공하여 기존의 C프로그래머가 사용하기 쉬운 환경을 제공하는 것이다. 3.1 함수의 수식어 | __global__ - 디바이스에서 실행된다. - 호스트에서 실행할 수는 있어도 디바이스에서 호출할 수는 없다. - 디바이스로 실행하는 커널 함수 지정에 사용할 수 있다. 문법 __global__ function(a, b, c){ } 주의사항 - 리턴값은 항상 void 이다.- 을 이용하여 실행 시 블록과 스레드를 지정할 수 있다.- 재귀 호출은 할 수 없다.- 함수 내에 static변수를 가질 수 없다.- 가변형 인수를 가질 수 없다.- __global__로 지정한 함수의 포인터를 이용할 수 있다.- __host__(후술)와 동시에는.. 더보기
CUDA 프로그램 준비 - 설치 https://hiuaa.tistory.com/m/39?category=213773 더보기
CUDA의 기본 - 3(Architecture) 03. CUDA 프로세서 아키텍처 3.1 그래픽 카드 블록 다이어그램 그래픽 카드는 GPU와 보드 , 그래픽 메모리(DRAM), 기타 장치로 구성되어 있는데 프로그래밍에서는 주요하게 GPU와 메모리만을 다루게 된다. 그래픽 카드의 내부에 있는 사각형은 GPU를 나타내는 것으로 그래픽 카드 중심에 장착된 프로세서를 의미한다. PC의 메인보드에 장착된 CPU와 같은 기능을 하며 GPU 내부에 있는 모듈들은 프로세서 안에 있기 때문에 빠르게 동작한다. 3.2 스트리밍 프로세서(SP, Streaming Processor) GPU에서 연산을 하는 코어 유닛이다. 실수를 계산하기 위한 FPU(FP), 정수 계산을 하는 ALU(Int), 데이터를 로드 / 스토어 하기위한 LSU(move, cmp)를 모두 갖추고 있다.. 더보기