Falcon Blog.

Blog.

끄적끄적 블로그.

Recent Posts

Branchless Code

03 Jan 2026
C++ Optimize

Branchless

영상처리 개발업무를 하며 속도 최적화에 대한 고민을 많이 한다.
전역 변수 할당, 행단위 접근, 포인터 접근, 참조 전달, PipeLine Architecture, SIMD기법, Parallel Processing (OpenCL, CUDA, TBB)등. 기본 언어 최적화를 진행 하지만, 대규모 데이터에서 빠른 처리를 보이는 방법은 역시 Parallel Processing이다. 하지만, 모든 방법에는 그에 따른 비용이 발생하고 (ex. Context Switching, Overhead), 성능 목표와 목적간의 비용을 조절하는 과정이 필요하다. SIMD와 CUDA 같은 병렬 기법은 상대적으로 개발기간이 길어지고, 적용할 수 있는 알고리즘이 제한적이다. 다시 최적화에 대한 이야기로 돌아와서, “if문은 성능을 저하시킨다” 라는 말을 들어왔다. 저 말의 진위는 분기문이 많아지면, 분기 예측을 더 많이하고, 조건에 따라 실패 확률이 증가 한다. 실패 시, 대기 명령을 flush시키고 fetch단계부터 다시 작성할 때 성능 손실이 생긴다.

More...

NPP Signal Functions

27 Dec 2025
Image Processing CUDA Palellel Processing NPP

Signal Functions

신호처리를 위한 npp 라이브러리. 기존 npp 영상처리 라이브러리와 유사한 함수가 다수 존재한다. 자주 사용하지 않아 나열만 해놓는다.

More...

NPP Memory Management

20 Dec 2025
Image Processing CUDA Palellel Processing NPP

Memory Management

피치 이미지 저장 할당 및 해제를 위한 루틴.
이러한 방법들은 편의를 위해 제공된다. 각 픽셀 행 끝에 추가 패딩 바이트를 포함할 수 있는 메모리를 할당한다. NPP이미지 처리 원시 요소들이 제대로 작동하려면 패딩이 필수는 아니지만, 패딩이 없으면 제대로 패딩된 이미지에 비해 성능 저하가 심각할 수 있다.

More...

NPP Comparison

13 Dec 2025
Image Processing CUDA Palellel Processing NPP

Comparison

두 이미지의 픽셀 또는 한 이미지와 일정한 값의 픽셀을 비교하여 이진 결과 이미지를 만듭니다. 다중 채널 이미지 유형의 경우, 모든 채널에 대해 조건이 충족되어야 하며, 그렇지 않으면 비교가 거진으로 간주 됩니다. “이진”결과 이미지는 타입 8u_C1입니다. 거진은 0으로 참은 NPP_MAX_8U로 표현됩니다.

More...

NPP Threshold

06 Dec 2025
Image Processing CUDA Palellel Processing NPP

Threshold

픽셀별 임계값 및 비교 연산을 위한 방법들.

More...