일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- MultiCore
- observer pattern
- 메모리관리
- EFFECTIVE C++
- 멀티코어
- 게임공학과
- vector
- 쓰레드
- random access
- stl
- 옵저버
- c++
- 한국산업기술대학교
- 스마트포인터
- 멀티쓰레드
- C
- 디자인패턴
- Multithread
- multi-core
- sequential
- Design Pattern
- Atomic
- 유니크포인터
- 복사생성자
- 프레임워크
- material
- 멀티코어 프로그래밍
- thread
- 옵저버 패턴
- Unreal
- Today
- Total
목록멀티코어 (12)
태크놀로지
한국산업기술대학교 게임공학부 정내훈 교수님 멀티코어 2주차 강의 멀티쓰레드 프로그래밍에서 중요한사항 올바른 결과가 나와야한다. 싱글 쓰레드보다 성능향상이 커야한다. 실습1 - 여러 쓰레드 생성 #include #include #include using namespace std; int sum = 0; void f() { for (int i = 0; i < 2500'0000; ++i) sum += 2; } int main() { vector threads; for (int i = 0; i < 2; ++i) threads.emplace_back(f); for (auto& t : threads) t.join(); cout
한국산업기술대학교 게임공학부 정내훈 교수님 멀티코어 1주차 강의 멀티 쓰레드 프로그래밍 멀티 쓰레드의 사용목적 멀티코어 CPU(or 멀티 CPU)에서의 프로그램 성능향상 (O) 성능향상이 없다면 의미가 없다. 분산 컴퓨터에서의 프로그램 성능향상 (X) 멀티쓰레드는 하나의 프로세스에서 동작하기 때문에 분산 컴퓨터에서 성능향상을 위해선 멀티프로세스를 통해 싱글코어(CPU) 컴퓨터 환경에서의 프로그램 성능향상 (X) 오히려 더 느려짐 프로그램을 모듈화해서 알아보기 쉽게 (X) 디버깅이 매우 어려움 멀티코어 프로그래밍 => 병렬컴퓨터에서의 프로그램 성능향상 멀티코어 프로세서 Intel과 ARM에서 멀티 코어 프로세서를 만드는 이유 CPU의 성능을 올려야 한다. 클럭 속도를 높일 수 없다. -> 발열문제 클럭 속..
한국산업기술대학교 게임공학부 정내훈 교수님 멀티코어 1주차 강의 멀티쓰레드 프로그래밍 멀티쓰레드 프로그래밍 현재 운영체제에서 병렬 프로그래밍의 (유일한) 구현 수단 하나의 프로세스 안에서 여러개의 쓰레드를 실행 시켜 병렬성을 얻는 프로그래밍 방법 Windows, Linux, Android, iOS에서 기본으로 제공하는 유일한 병렬 프로그래밍 API 하드웨어와 운영체제가 직접 지원하는 것은 이것 뿐 다른 API로는 GPGPU가 있음 프로세스 운영체제는 사용자의 프로그램을 프로세스 단위로 관리한다. 실행파일의 실행 => 운영체제가 파일내용을 메모리에 복사후 시작 주소로 점프하는 것. 읽어 들일 때 여러 가지 초기화가 필요하다. 시분할 운영체제는 여러 프로세스를 고속으로 번갈아 가면서 실행한다.(시분할) 실행..
한국산업기술대학교 게임공학부 정내훈 교수님 멀티코어 1주차 강의 교재소개 모리스 헐리히, 니르 샤비트 "멀티프로세서 프로그래밍" 한빛미디어, 2009 장점: 멀티프로세서 프로그래밍 기초를 전부 언밀하게 다룸 단점: 알고리즘 위주로 실제 구현과는 차이가 있음 기타: 치명적인 번역오류, 자바를 사용한 구현 좀더 쉬운책 -> 프로그래머가 몰랐던 멀티코어 CPU 이야기 강의의 흐름 1.멀티쓰레드 프로그래밍의 필요성 / 작성시 문제점 2. 논블록킹 알고리즘의 필요성 3. 논블로킹 알고리즘 작성 테크닉 및 실습 4. 정리 및 상용라이브러리 소개 왜 멀티코어 프로그래밍을 하냐? 요즘 멀티코어를 사용하지 않는곳이 없다. 컴퓨터의 종류 직렬 컴퓨터 (Serial computer = Single core computer)..