GPU 프로그래밍 - Global Memory Coalescing
Global Memory Coalescing 예제분석 1. 개요 아래의 예제는 행렬 A,B,C가 있을때 A의 i번째 값 제곱 더하기 B의 i번째 값 제곱 더하기 1을 해서 C의 i번째 값으로 나누는 연산이다. 어떻게 구현하는지에 따라 속도가 달라지며, 이는 Global Memory에 어떻게 엑세스하고 어떻게 캐싱되는지에 대한 내용이다. 오늘은 CPU로...
Global Memory Coalescing 예제분석 1. 개요 아래의 예제는 행렬 A,B,C가 있을때 A의 i번째 값 제곱 더하기 B의 i번째 값 제곱 더하기 1을 해서 C의 i번째 값으로 나누는 연산이다. 어떻게 구현하는지에 따라 속도가 달라지며, 이는 Global Memory에 어떻게 엑세스하고 어떻게 캐싱되는지에 대한 내용이다. 오늘은 CPU로...
Vector DB - Quantization 사실 이걸 여기 넣어도 될까 싶은데, 그냥 데이터 Store전에 Pre-Processing이라고 한다면 이것도 Vector DB에서 논할거리가 될 것도 같고, 무엇보다 Code book의 경우 Quantization을 거친 데이터를 쓰기 때문에 여기 포함했다. 1. 개요 찾아보니 양자화(Quantizati...
병렬 처리 - Cache coherence 1. 개요 UMA든, NUMA든 각 프로세스나 코어는 캐시를 가진다. UMA인지 NUMA인지를 구분하는게 메모리이기 때문이다. 이 경우 매우 일이 복잡해지는데 각 코어나 프로세스가 가지는 캐시 값을 동기화해주어야하기 때문이다. 이를 Cache coherence라고 하며 이를 위한 여러가지 방법들이 있다....
병렬 처리 1. 개요 요즘이야 GPU를 통한 병렬 처리가 엄청 대중화되어있는 시기이지만, 여기서 이야기하는 병렬 처리는 다수의 CPU가 있는 Multi-processors를 말하는 것이다. 이 Multi-processors라는 것은 한 개의 CPU안에 여러개의 코어가 있는 상황일 수도 있고, 혹은 다수의 CPU가 연결되어있는 상황을 말하는 것 일수...
Veusz 1. 개요 논문 쓸때는 깔끔한 그래프는 필수이다. python이나 excel 그래프는 좀 애매하게 나올때가 있는데, 이럴때 필요한게 Veusz라는 프로그램이다. 이 프로그램은 windows와 macOS, linux 모두에서 돌아간다. PDF, Postscript, SVG, EMF를 포함한 벡터 및 비트맵 출력을 지원하며 텍스트, CSV,...
Ribbon Paper 1. 개요 슈퍼컴퓨터 21년도에 올라온 논문이다. 논문 풀네임은 “Ribbon: Cost-Effective and QoS-Aware Deep Learning Model Inference using a Diverse Pool of Cloud Computing Instances”이다. 직역하자면 “다양한 클라우드 컴퓨팅 인스턴스 ...
DiskANN 1. 개요 DiskANN은 그래프 기반의 대규모 근사 최근접 이웃 탐색 시 스템으로, 64 GB 메모리와 저렴한 SSD만으로 수십억 개의 벡터 를 색인 및 검색할 수 있도록 설계되었다. 이는 전통적인 메모리 기반 근사 최근접 이웃 탐색방식이 요구하는 대용량의 RAM 용량 한계를 피하면서도, 높은 재현율과 낮은 탐색 지연을 균형있게 제공...
논문용 그래프 - 산점도 논문이나 혹은 회사에서 PPT로 두 개의 값 간의 선형적인 관계를 산점도로 표기하고 싶을수 있다. 또한, 두 값이 선형적인 관계가 있는지 간단히 체크하고 싶을 수 있다. 그러면 아래의 코드를 쓰면된다. import pandas as pd import matplotlib.pyplot as plt plt.rcParams['fon...
VectorDB - 테스트용 Dataset 1. 개요 어떤 것의 성능을 알아보려면 가장 좋은건 테스트를 해보는 것이다. 물론 이론적인 것이 먼저 들어오고 이후에 실험으로 그를 뒷받침하는 형태가 가장 일반적이지만, 일단은 대부분 테스트가 무조건 들어온다는 점에서는 이견이 없을거라 생각한다. 이번 시간에는 VectorDB를 테스트해보기 위한 Datase...
부동 소수점 표현 1. 개요 최근 AI가 발달하면서 부동 소수점 표현이 중요해지고 있다. 부동 소수점은 정밀도에 따라 데이터 크기가 달라진다. 2. 정밀도 1) Half precision 수 하나당 2bytes를 사용하는 표기법이다. 부호 : 1bit 지수부 : 5bit 소수부 : 10bit 2) Single precision 수 ...