컴퓨터 구조 - CPU 구조 - 파이프라인별 아키텍처 종류
Pipelining 종류 이전 포스팅에서는 5 Stage 기준으로 파이프라인이 어떻게 되는지 성능은 어떻게 되는지 알아보았다. 이번에는 총 3개 정도의 아키텍처를 살펴보고 파이프라인이 어떻게 되는지 성능은 어떻게 되는지 알아보자. 1. Deeper Pipeline 좀 더 깊은 파이프라인 단계를 가진 아키텍쳐이다. 이전에 5 stage로 파이프라인을...
Pipelining 종류 이전 포스팅에서는 5 Stage 기준으로 파이프라인이 어떻게 되는지 성능은 어떻게 되는지 알아보았다. 이번에는 총 3개 정도의 아키텍처를 살펴보고 파이프라인이 어떻게 되는지 성능은 어떻게 되는지 알아보자. 1. Deeper Pipeline 좀 더 깊은 파이프라인 단계를 가진 아키텍쳐이다. 이전에 5 stage로 파이프라인을...
RAID 1. 개요 RAID는 한 마디로 다수의 SSD/HDD를 사용하기 위한 방법이다. 그냥 한 개의 스토리지 디바이스만 쓰면 되는거 아닌가 하는 의문이 들 수 있다. 2025년 1월 기준 현존하는 최대 용량이 HDD는 32TB[1] 인데 이거면 충분하지라고 생각할 수 있지만 매일 기가(GB) 단위는 우습게 넘기고 테라(TB) 혹은 페타(PB...
CUDA 1. 종류 일반적인 용도의 병렬 컴퓨팅을 위한 프로그램을 할 수 있는 모델이라고 생각하면 된다. 소위 말하는 CUDA에는 사실 두 가지 종류가 있다. Driver library NVIDIA 드라이버를 설치하면 자동으로 설치된다. 저수준의 CUDA 프로그래밍을 목적으로 한다 지원하는 API이름은 CUDA Driver API이다. ...
파워 소모 1. 개요 CPU 즉, 프로세서에서 파워 소모는 매우 중요한 이슈이다. 이는 23년도부터 프로세서 클럭 수가 올라가는 속도가 둔화된 이유와도 직결되기 때문이다. 이는 파워소모가 동반하는 발열 탓이다. 이 발열을 여러가지로 우회해보려고 현재도 많이 노력하지만 본질적으로 열이 발생하는 문제이기 때문에 2025년 현재도 4GHz를 넘는 C...
I/O 구조 DB에서 어떤 데이터에 대해서 읽고 쓴다고 해보자. 이 DB는 C, C++로 개발되었다고 할 때 Data I/O의 구조는 아래와 같다. DB에서 데이터를 읽는 요청을 한다고하면 먼저 대상 데이터가 있는 파일에 대해서 정보를 알아내야한다. DB에서 Table 혹은 Collection(Document DB 기준)은 모두 파일로 저장되기...
GPU Programming 1. 개요 이전엔 GPU라고 하면 그래픽 작업이나 게임할때 필요한 부품이었다. 하지만 최근에 AI가 급속도로 발달하면서 GPU의 필요성이 매우 높아지고 있다. 이러한 GPU를 사용하기 위해서는 Python의 Pytorch 나 Tensorflow를 이용하여 코딩할 수도 있겠지만 여기서는 C와 C++을 이용한 코드를 이용하...
CUDA 환경 구성 CUDA 프로그래밍을 하기 위해서는 먼저 관련 드라이버를 설치해야한다. 이번 포스팅은 CUDA 프로그래밍을 하기 위한 관련 드라이버를 설치하고 개발 환경을 구성해보겠다. 1. 설치 1) 설치에 앞서 알아봐야할 것 먼저 내가 가지고 있는 그래픽 카드가 어떤 Compute capability 버전을 지원하는지 알아봐야한다. 아래의...
CPU 성능 측정 일반적으로 어떤 성능을 이야기할 때 아래의 지표로 이야기한다. 알고리즘 : 몇 개의 Operation을 실행하는지 프로그램 언어, 컴파일러, 아키텍처 : Operation 당 몇 개의 기계 명령어를 실행하는지 프로세서와 메모리 시스템 : Instruction을 실행하는데 얼마나 빠른지 IO/System : I/O O...
Deep learning 워드임베딩(Word Embedding) 1. 개요 단어를 벡터로 표현하는 방법으로, 단어를 밀집 표현(Dense Representation)으로 바꾸는 것을 말한다. 이 밀집 표현에 대해서 알기 위해서는 희소 표현(Sparse Representation)에 대해 먼저 알아야한다. 1) 희소표현(Sparse Represent...
Deep learning - Recurrent Neural Network 기본적인 형태의 RNN은 바닐라 RNN이라고 부른다. 바닐라 RNN의 경우 시퀀스가 길어질수록 성능이 떨어지는 문제를 보였다. 이 문제를 장기 의존성 문제(The problem of Long-Term Dependencies) 라고 하는데 장기 의존성 문제를 해결하기 위한 여러 ...