본문 바로가기

분류 전체보기

(25)
[YouTube] Implementing New Algorithm with CUDA Kernels [원본] https://youtu.be/kTWoGCSugB4?si=bWa1GRMvITXv1VGmGoogle NotebookLM으로 작성된 후 일부 수정된 글입니다. 직접 짜는 CUDA 커널, 생각보다 훨씬 깊고 위험하다: 꼭 알아야 할 5가지 교훈서론: 최대 성능을 향한 유혹CUDA 프로그래밍을 시작하면 Thrust나 CUB 같은 강력한 라이브러리들의 편리함에 금방 익숙해집니다. 대부분의 일반적인 병렬 처리 작업은 이 라이브러리들이 마법처럼 해결해 주죠. 하지만 어느 순간, 라이브러리가 제공하지 않는 매우 특수한 알고리즘을 구현해야 하는 상황과 마주하게 됩니다. 이때 "나만의 CUDA 커널을 직접 작성해야겠다"는 생각이 고개를 듭니다. 직접 짠 커널은 GPU의 모든 성능을 남김없이 끌어내는 궁극적인 방법..
[YouTube] Asynchrony and CUDA Streams [원본] https://youtu.be/pyW9St8uM8w?si=sjfE8KZFbsHMnuztGoogle NotebookLM으로 작성된 후 일부 수정된 글입니다.당신의 GPU 코드는 생각보다 느립니다: CUDA 성능을 2배 끌어올린 4가지 놀라운 발견서론: 시작하며GPU를 활용하여 복잡한 계산을 수행하는 코드를 성공적으로 작성하고 실행했을 때의 만족감은 큽니다. 하지만 코드가 작동한다는 사실에 안주하는 동안, 당신의 시스템은 가진 잠재력의 절반도 발휘하지 못하고 있을지 모릅니다. 가장 흔하면서도 비효율적인 상황을 떠올려보십시오: GPU가 열심히 다음 시뮬레이션 단계를 계산하는 동안, CPU는 그저 작업이 끝나기만을 기다리며 아무것도 하지 않습니다. 이는 시스템 자원의 명백한 낭비입니다.이 글의 목적은 ..
[YouTube] Accelerating Applications with Parallel Algorithms [원본] https://youtu.be/Sdjn9FOkhnA?si=M-KymEPJ2WO1wfBPGoogle NotebookLM으로 작성된 후 일부 수정된 글입니다. GPU 프로그래밍, 당신이 놓치고 있는 몇 가지 놀라운 진실"GPU를 사용하면 모든 것이 그냥 빨라질 거야." 우리 중 많은 이들이 이런 기대를 품고 GPU 프로그래밍의 세계에 발을 들입니다. 하지만 막상 코드를 돌려보면 기대했던 만큼의 성능 향상이 나타나지 않거나, 때로는 오히려 더 느려지는 기묘한 현상을 마주하곤 합니다. 왜 그럴까요?최근 NVIDIA의 공식 CUDA 강의를 살펴보면서, 저는 GPU 프로그래밍에 대한 흔한 오해를 깨부수는 몇 가지 핵심 원칙들을 발견했습니다. 이 원칙들은 단순히 기술적인 팁을 넘어, GPU 아키텍처를 근본..
[YouTube] CUDA 13.0—새로운 기능 및 그 이상 [원본] https://youtu.be/_vL8uz7kf0M?si=c9LKajCahp8McvzuGoogle NotebookLM으로 작성된 후 일부 수정된 글입니다. CUDA 13.0의 숨겨진 보석: 개발자라면 반드시 알아야 할 5가지 혁신1. 도입부: 단순한 버전 업데이트 그 이상CUDA의 세계는 끊임없이 발전하고, 때로는 그 복잡성에 압도당하기도 합니다. 새로운 아키텍처, 수많은 API, 그리고 최적화 기법들 사이에서 최신 동향을 따라가는 것은 결코 쉬운 일이 아닙니다. 이런 상황에서 'CUDA 13.0'이라는 새로운 버전 번호는 자칫 또 하나의 마이너 업데이트처럼 보일 수 있습니다.하지만 CUDA 13.0은 단순한 숫자 업데이트가 아닙니다. 이는 NVIDIA가 향후 약 18개월간의 개발 방향성을 설정..
협업툴 비교 (슬랙, 팀즈, 구글, 네이버, 카카오, 잔디, 더존) 최근에 협업을 위한 많은 툴들이 나와있습니다. 개발자들은 주로 슬랙에 jenkins 등을 연동하여 CI/CD등에 활용하기도 합니다. 세상에 다양한 칼이 다양한 목적으로 필요하듯이 협업툴 역시 하나의 툴이 가장 좋다고 말하기 어려운 부분들이 있습니다. 슬랙(slack)을 대표주자로, MS Teams(팀즈), 구글 워크스페이스 (workspace) 등의 외산툴들과 카카오, 네이버가 제공하는 협업툴도 나름 경쟁하고 있습니다. 토스랩이 제공하는 잔디(jandi)도 슬랙과 비슷한 서비스로 사용하기 나쁘지 않습니다. 아래 비교표의 평점은 다분히 개인적인 의견으로 다르게 생각하시는 분들도 있을 수 있어 참고만 해 주십시오. 세무 ERP의 강자인 더존이 제공하는 WEHAGO (위하고)는 나름 저렴한 가격대비 다양한 기..
[역사] 전략의 역사 이 책은 두 권으로 나뉘어진 꽤나 긴 책이다. 특이하게도 두번째 책이 첫번째 책의 약 1.5배의 두께를 가지고 있다. 전략이라는 말은 전쟁을 이기기 위해서 주로 사용되었지만 회사의 경영에서 최근에는 더욱 중요하고 심지어 온라인 게임에서도 중요하다. 이 책의 서문은 인터넷에서 꽤나 유명한 마이크 타이슨의 말로 시작한다. 누구나 얼굴을 크게 한 대 강타당하기 전까지는 그래도 계획이란 걸 가지고 있게 마련이다. 아직 1권을 읽고 있지만 꽤나 유익한 표현들이 있다. 전략은 힘(권력)을 창조하는 기술이다. 애초에 강력한 존재라면 전략이라고 해봐야 그다지 어려울게 없다. 보다 우월한 자원을 현명하게 배치하면 승리는 어렵지 않다. [p. 19~20] 아무리 좋은 조언을 솔직하게 한다고 하더라도 나쁜 조언을 할 때와 ..
[영어교육] 영어학습을 위한 인공지능 챗봇 활용 및 제작 챗봇으로 비즈니스를 처음 시작할 때 페이스북에 영어단어 공부를 개인화하는 서비스를 간단히 만들어 학생들에게 사용하게 했었다. 페북 메신저를 많이 사용하기 때문에 사용할 것이라고 생각했지만 의외로 아이들은 단어를 검색하지 않았다. 전반적으로 등급이 떨어지는, 즉 학습 의욕이 없는 아이들이라서 그런 것이 아닌가라고 생각하고 서비스를 확대하지 않고 챗봇을 이용한 영어교육은 잠시 접어 두었다. 그러다가 최근에 우연히 '영어학습을 위한 인공지능 챗봇 활용 및 제작' 라는 책이 출간된 것을 알게 되었다. 저자들이 대부분 영어교육 교수님들이라 아무래도 기술보다는 교육, pedagogy에 초점이 맞추어진 책이라는 생각이 들어 바로 구매하였다. 기술적인 것을 자세히 설명하지는 않았지만 그런대로 챗봇의 역사를 간략하게 잘..
[LeetCode] Letter Combinations of a Phone Number - medium level Problem Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is given below. Note that 1 does not map to any letters. Example Input: "23" Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. Solution medium level의 문제의 난이도가 생각보다 변동폭이 큰 것 같다. 이 문제도 ..