no image
vscode CMake Debug
CMake 파일 디버깅 main file debuging  인자 집어넣기 .vscode/settings.json{ "files.associations": { "string": "cpp", "ostream": "cpp" }, "cmake.debugConfig": { "args": [ "0", "0" ] } }
2024.07.10
no image
AT_DISPATCH_FLOATING_TYPES, AT_ASSERTM
AT_DISPATCH_FLOATING_TYPES 매크로는 Pc 텐서의 데이터 타입에 따라 적절한 scalar_t 타입을 선택하고, 그 타입을 사용하여 dist_kernel4 커널을 호출합니다. 매크로의 첫 번째 인자는 텐서의 타입이고, 두 번째 인자는 디스패치 이름(주로 디버깅 용도), 세 번째 인자는 람다 함수입니다.
2024.07.02
#pragma unroll, __restrict__
#pragma unroll는 CUDA C++에서 반복문 루프 언롤링(loop unrolling)을 지시하는 컴파일러 지시문입니다. 이 지시문을 사용하면 컴파일러는 지정된 반복문을 자동으로 풀어서 언롤된 버전을 생성합니다. 이렇게 하면 반복문의 각 반복이 개별적으로 실행되어 실행 성능이 향상될 수 있습니다.주요 이점:성능 최적화:루프 언롤링을 통해 루프 오버헤드를 줄이고, 명령어 병렬성을 높여 성능을 개선할 수 있습니다.메모리 접근 최적화:연속적인 메모리 접근 패턴을 보장하여 캐시 효율성을 높일 수 있습니다. __restrict__ 키워드는 C와 C++에서 사용되는 제한자(restrict qualifier)입니다. CUDA에서도 같은 용도로 사용되며, 특정 포인터가 가리키는 메모리 영역이 겹치지 않음을 컴..
2024.07.02
no image
Gstreamer
rtph264depay (RTP H264 Depayloading): Gst.ElementFactory.make("rtph264depay", f"depay{index}")는 RTP (Real-time Transport Protocol) 패킷에서 H.264 비디오 스트림을 추출하는 데 사용되는 요소를 생성합니다. 이 요소는 네트워크를 통해 전송되는 RTP 패킷에서 H.264 비디오 데이터를 분리해 내어 다음 요소로 전달할 수 있는 형태로 변환합니다. 이 과정을 'de-payloading'이라고 합니다. capsfilter (Capabilities Filter): Gst.ElementFactory.make("capsfilter", f"caps{index}")는 미디어 스트림의 데이터 포맷을 제어하는 필터 요소..
2024.04.15
no image
Opencv 설치시 fatal error: va/va.h: No such file or directory 오류
libva-dev 패키지에 포함된 va/va.h 헤더 파일을 찾을 수 있어야 하는데 못찾아서 생긴 오류입니다. VA API는 비디오 가속을 위한 오픈소스 라이브러리입니다. 대부분의 Linux 배포판에서는 libva-dev 패키지에 해당 파일들이 포함되어 있습니다. sudo apt-get updatesudo apt-get install libva-dev위 코드를 실행하고도 다시 빌드하여도 안될경우에는 cmake -DCMAKE_CXX_FLAGS="-I/usr/include/va" -DCMAKE_C_FLAGS="-I/usr/include/va" ../{opencv_path}위와 같이 헤더파일 경로를 추가적으로 명시하여 해결할 수 있습니다.
2024.03.12