Добавить
Уведомления

Pipe++

https://github.com/kang-sw/pipepp *아래 '더보기' 필독!! * (나중에 문서화 예정 .. 지금은 레포에 별 것 없어용) 병렬적으로 실행되는 다수의 파이프라인을 손쉽게 빌드할 수 있게 해주는 도구입니다. 매크로를 통해 런타임에 조정 및 시리얼라이즈 가능한 파이프 옵션을 생성할 수 있고, 파라미터 내부의 각 알고리즘의 실행 시간 또한 계층적으로 계측 가능합니다. 또한, 각종 디버깅 정보(문자열, boolean, numeric, any)를 등록할 수도 있습니다. c++ nana, fmtlib, nlohmann/json 라이브러리 사용. 파이프라인의 오버헤드로 인해 최초 입력과 최종 출력 사이의 지연 시간은 다소 증가하지만, 각 stage를 세분화 및 병렬 실행을 통해 출력 사이의 interval은 획기적으로 줄일 수 있습니다. 영상은 OpenCV의 SLIC 알고리즘을 구현한 pipe를 실행하고 표시한 것으로, 단일 코어에서 500 ms 이상이 소요되는 알고리즘에 24개의 파이프를 병렬로 붙여, 출력 사이의 인터벌을 50ms 수준으로 낮추고 있습니다.

12+
16 просмотров
2 года назад
12+
16 просмотров
2 года назад

https://github.com/kang-sw/pipepp *아래 '더보기' 필독!! * (나중에 문서화 예정 .. 지금은 레포에 별 것 없어용) 병렬적으로 실행되는 다수의 파이프라인을 손쉽게 빌드할 수 있게 해주는 도구입니다. 매크로를 통해 런타임에 조정 및 시리얼라이즈 가능한 파이프 옵션을 생성할 수 있고, 파라미터 내부의 각 알고리즘의 실행 시간 또한 계층적으로 계측 가능합니다. 또한, 각종 디버깅 정보(문자열, boolean, numeric, any)를 등록할 수도 있습니다. c++ nana, fmtlib, nlohmann/json 라이브러리 사용. 파이프라인의 오버헤드로 인해 최초 입력과 최종 출력 사이의 지연 시간은 다소 증가하지만, 각 stage를 세분화 및 병렬 실행을 통해 출력 사이의 interval은 획기적으로 줄일 수 있습니다. 영상은 OpenCV의 SLIC 알고리즘을 구현한 pipe를 실행하고 표시한 것으로, 단일 코어에서 500 ms 이상이 소요되는 알고리즘에 24개의 파이프를 병렬로 붙여, 출력 사이의 인터벌을 50ms 수준으로 낮추고 있습니다.

, чтобы оставлять комментарии