POPULAR POSTS
-
AVX (Advanced Vector Extensions)의 개념과 사용법
2008년 인텔은 AVX (Advanced Vector Extensions)라는 새로운 고성능 ISA를 발표한다. 이는 기존의 SSE (Streaming SIMD Extensions)에 포함된 많은 operation들을 지원함과 동시에 더 빠른 속도로 더 큰 덩어리(chunk)의 데이터를 처리할 수 있는 혁신적인 기술이었다. 이 글에서는 intrinsic functions라고 불리는 특별한 C 함수들을 통해서 어떻게 AVX, AVX2를 이용할 수 있는지에 대해서 다룰 것이다. AVX 명령은 mov, add와 같이 어셈블리 명령어에 해당한다. 예를 들어 vaddps라는 AVX 명령은 두 operand를 더해서 그 결과를 세번째 레지스터에 저장한다. 그렇다면 AVX 명령을 사용하기 위해선 어셈블리어로 코딩을..
-
VSCode 유용한 Extension 목록
1. 특정 언어 및 IntelliSense 지원 C/C++: 정말 이건 없으면 복잡한 시스템 개발 못함... Python vscode-cudacpp etc... 2. 시각화 관련 Beautify Date & Time: 보통 맥에서 full-screen 모드로 작업해서 시간을 보려고 화면 넘기는 게 귀찮은데 우측하단에 날짜/시간을 보여줘서 좋음 Dracula Official: 가장 선호하는 theme color Highlight Line: 현재 커서가 놓인 라인이 아주 잘 보여서 꼭 필요! Indent-rainbow (눈 아퍼서 잘 안 쓰게 되는 듯) Resource Monitor: 배터리, CPU clock, memory 사용량 등 시스템 정보를 하단바에 항상 보여줘서 시스템 모니터링에 좋음. htop을..
-
[Linux/Mac] vim을 IDE처럼! zsh 설정부터 vim 플러그인 설정까지 총 정리
서버에 zsh 세팅과 vim 세팅을 하는 김에 쓰는 정리글이다. 아래의 스크린샷이 뒤에서 설명할 모든 설정을 완료하였을 때 보게될 최종적인 모습이다. tmux를 통해서 상하로 화면 분할을 한 상태이고 아래는 shell, 위는 vim 편집기를 보이고 있다. 이렇게 해놓고 작업하면 여타 IDE를 사용하는 것과 비슷한 느낌으로 작업이 가능하다. 전제조건 - 리눅스 / Mac - iTerm2 - zsh 1. Oh-My-Zsh (1) 설치 다음 둘 중 하나의 script 명령을 통해서 oh-my-zsh 다운로드를 받는다. $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 혹은 ..
-
[Facebook 추천 시스템: DLRM] Deep Learning Recommendation Model for Personalization and Recommendation Systems
이번 포스팅에서는 2019년 페이스북에서 나온 추천 시스템 논문인 DLRM을 다룬다. Introduction 기존 personalization 및 recommendation 태스크에서 딥러닝이 활용된 연구들을 살펴보면 크게 두 부류로 구분할 수 있다. 1. 추천 시스템 가장 원시적인 추천 시스템에서는 몇몇 전문가들이 상품들을 몇 개의 카테고리로 묶은 뒤, 유저들이 기호에 따라 카테고리를 선택하도록 하는 방식을 사용하였다. 이것이 발전되어서 만들어진 것이 과거의 유저의 행동(상품을 장바구니에 넣는다든지, 구독을 한다든지, 좋아요를 누른다든지...)에 기반하여 추천을 하는 CF(collaborative filtering) 기법이다. 그 밖에도 유저와 연관성이 높은 상품을 함께 grouping하여 추천을 하는..
RECENT POSTS
-
[EuroSys '19] Parallax: Sparsity-aware Data Parallel Training of Deep Neural Networks
Problems To Solve In the context of distributed training, DL frameworks provide good support for training models used in the image classification tasks, but it is less scalable for training NLP models due to the lack of consideration of the difference in the sparsity of model parameters. How to Solve To optimize the amount of data transfer with considering sparsity, Parallax adopts a hybrid appr..
2020.08.21 03:11 -
[ICLR 2019] ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware
Directly applying NAS to a large scale task (e.g. ImageNet) is computationally expensive or impossible. To solve this problem, Some works proposed to search for building blocks on proxy tasks, such as training for fewer epochs, starting with a smaller dataset (e.g. CIFAR-10), or learning with fewer blocks. $\to$ Cannot guarantee to be optimal on the target task. ProxylessNAS directly learns the ..
2020.07.28 02:41 -
[SOSP' 11] PTask: Operating System Abstractions To Manage GPUs as Compute Device
이 포스팅에서 리뷰할 논문은 2011년 SOSP에 나온 "PTask: Operating System Abstractions To Manage GPUs as Compute Devices"이다. 상당히 오래된 논문이지만 GPU 기반 이기종 시스템과 관련하여 중요하게 여겨지는 개념들과 아이디어들이 많기 때문에 구체적으로 리뷰를 하려고 한다. 염두에 두어야할 점은 이 연구에선 딥러닝의 맥락에서 GPU 스케줄링을 언급하고 있지 않으며 그 당시와 현재의 상황이 꽤 많이 달라졌다는 것이다. ABSTRACTION 이 논문에서는 GPU를 CPU와 같은 1순위 계산 자원으로 활용할 수 있도록 하기 위한 OS abstraction(OS API)인 PTask API를 소개한다. PTask API에서 OS가 관리하는 여러 객체..
2020.07.07 00:11 -
[CV Study] Accelerating the Super-Resolution Convolutional Neural Network
Paper Link: https://arxiv.org/pdf/1608.00367.pdf Image super-resolution(SR) 태스크에서 SRCNN이 좋은 성능을 거두었지만 real-time 서빙을 하기에는 연산 비용이 너무 크다는 문제가 있다. 이 논문에서는 모래시계 모양의(encoder-decoder 구조를 생각하면 된다.) CNN 구조를 활용하여 기존의 SRCNN을 경량화, 가속화하는 것에 중점을 두었다. 이를 위해서 다음과 같은 3가지 방법을 취하였다. DCGAN, pix2pix 등에서 사용하는 transposed convolution(deconv)을 네트워크의 후반부에 활용하여, 저해상도(LR)의 입력 이미지와 고해상도(HR)의 출력 이미지 간의 매핑이 E2E로 학습가능한 네트워크 구조..
2020.07.05 16:57 -
[Facebook 추천 시스템: DLRM] Deep Learning Recommendation Model for Personalization and Recommendation Systems
이번 포스팅에서는 2019년 페이스북에서 나온 추천 시스템 논문인 DLRM을 다룬다. Introduction 기존 personalization 및 recommendation 태스크에서 딥러닝이 활용된 연구들을 살펴보면 크게 두 부류로 구분할 수 있다. 1. 추천 시스템 가장 원시적인 추천 시스템에서는 몇몇 전문가들이 상품들을 몇 개의 카테고리로 묶은 뒤, 유저들이 기호에 따라 카테고리를 선택하도록 하는 방식을 사용하였다. 이것이 발전되어서 만들어진 것이 과거의 유저의 행동(상품을 장바구니에 넣는다든지, 구독을 한다든지, 좋아요를 누른다든지...)에 기반하여 추천을 하는 CF(collaborative filtering) 기법이다. 그 밖에도 유저와 연관성이 높은 상품을 함께 grouping하여 추천을 하는..
2020.06.30 02:04