/
https://42jerrykim.github.io/ _index.md
ARM NEON intrinsics로 128비트 벡터 연산을 다루는 법을 x86 SSE/AVX 개념과 대응시키고, Apple Silicon·AWS Graviton 등 ARM 서버 배포에서 확인해야 할 판단 기준을 정리합니다. AVX-512 opmask 레지스터로 마스킹·나머지 처리를 구현하는 법과 다운클럭 라이선스 트레이드오프를 다루고, AVX10.2가 Nova Lake의 P코어·E코어 512비트 실행을 통일하는 배경·판단 기준을 정리합니다. 분기 예측 실패로 인한 파이프라인 비용을 피하는 branchless 기법(CMOV 조건부 이동, 비트마스크 트릭)의 동작 원리를 다루고, 컴파일러가 실제로 생성하는 코드와 가독성·유지보수성 트레이드오프를 판단 기준으로 정리합니다. 2026-03 Croydon 회의에서 확정된 C++26 표준 라이브러리 SIMD(P1928)의 설계와 GCC 16.1 부분 구현 현황을 정리하고, Highway·xsimd·수동 intrinsics 대비 이식성과 성숙도를 판단 기준으로 제시합니다. 캐시·라인 크기를 코드에 명시하지 않고 분할 정복으로 모든 캐시 레벨에서 점근적 최적 성능을 내는 cache-oblivious 설계를 다룹니다. ideal-cache 모델, cache-aware 타일링과의 차이, 행렬 전치·van Emde Boas 레이아웃 사례로 판단 기준을 정리합니다. CUDA·OpenCL·SYCL 세 프로그래밍 모델의 커널·메모리 관리 방식을 비교하고, PCIe와 NVLink-C2C 대역폭 수치로 CPU-GPU 데이터 전송 비용을 정량화합니다. 전송 대비 계산 비율 관점에서 GPU 오프로딩이 유리한 워크로드를 판단하는 기준을 제시합니다. 인라인·독립 어셈블리를 직접 작성해야 하는 드문 상황을 정리하고, GNU 확장 asm의 clobber·ABI 규약을 어겼을 때 컴파일러가 코드를 오인하는 메커니즘을 RDTSC 재배치 사례로 재현하며, 유지보수·이식성 비용을 판단 기준으로 다룹니다. 룩업 테이블(Lookup Table)로 반복 연산을 메모리 접근으로 치환하는 기법을 다룹니다. 테이블 크기와 캐시 적중률의 트레이드오프, 분기 대체 판단 기준, 그리고 비밀 의존 인덱스가 낳는 캐시 타이밍 부채널 위험까지 정리합니다. _mm_prefetch·__builtin_prefetch의 동작 원리와 하드웨어 프리페처와의 상호작용을 다루고, 포인터 체이싱 사례로 프리페치 거리 계산과 캐시 오염 위험을 근거로 언제 적용하고 언제 피할지 판단하는 기준을 정리합니다. SIMD intrinsics(_mm256 계열)의 네이밍 규칙, 정렬 로드/스토어, 셔플·퍼뮤트·마스크 연산 패턴을 컴파일 가능한 코드와 스칼라 참조 구현 비교로 검증하며, 벤치마크 스켈레톤과 언제 직접 intrinsics를 써야 하는지 판단 기준까지 정리합니다.