Site icon Re:제로부터 시작하는 개발자 생활

기초부터 차근차근. MatrixMultiplication을 합시다… 온동네방네서…

Application Behavior 성능 분석, 성능 Workload 등등 요새 많이 듣고 있습니다. MircoProcessor의 Architecture와 MicroArchitecture의 구조를 배우고, 요소를 배우고 원리를 배우고, 역사를 배우고, 논문을 배우고, 스승들을 배우고.. 계보를 배우고.. 잇는건..현위치에서는 힘들겠지만.. 끈은 놓지 않으려는 와중에 계속 듣고 있는 이야기입니다. 우연인지아니면 원래 프로세서, 슈퍼컴퓨터, 병렬처리, 등등과 엮인 부분에서 가장 흔하고, 단순하고, 만만한게 Matrixmultiplication인 것 같습니다. 이제는 친숙함을 넘어서, 질리다못해 잊었던게, 다시금 다가오네요.. 병렬처리도 이래저래 예전에 많이 들었지만, 요즘 들어서 나름 실습하기 만만하고 간단하고 재밌게 할 수 있는 시대가 된 것 같습니다. 내가 돌리고 있는 머신들이 어떤 수준인지도 파악해보면서, 널리고 널리 수많은 프로세서들을 비교해보기도 쉬운 세상이 되었으니, 이것저것 다 한번씩 돌려보고 비교해보고 해봐야겠네요. 물론 진짜. “요즘슈퍼컴퓨터”는 다뤄볼 수 없겠지만. 현재 우리들이 쓰고 있는 PC, Mobile Device가 예전엔 슈퍼컴퓨터 였단걸 알아가고 있는 터라. 한 2~30년전쯤 슈퍼컴퓨터를 쓰고 있다는 생각으로 해보면 되겠네요

Pthread, openMP, AVX등등(ARM이면 neon, vfp, 요즘 나온 그 무언가)그밖의 최적화 기법들을 잔뜩 넣는건,. 코드좀 정리한 후에 하고. 일단 위 두개만 돌릴 수 있는 머신/ 못돌리는 머신, 찾아보고, 돌아가면 얼마나 잘 돌아가는지 좀 정리해둬야겠습니다. 지난건 7z benchmark 의 sheet에 계속 덧붙여서 나가면 될 것 같네요. 그리고 slurm이라고, 예전에 distcc정도만 썼던 수준에서 좀더 편리한 cluster 리소스 관리 툴도 알게 되었으니 이것도 써보고요. docker나 쿠버네시트 등은 더 자주 듣긴했지만, 뭔가 거창하고, 크고, 서비스 위주라서, 꺼려졌던 것도 있던터라서요.

Exit mobile version