매니코어SW 지정과제 순차처리 합성곱 필터 알고리즘을 병렬처리 알고리즘으로 재구현 했습니다.
해당 모듈은 여럿이 모여 하나 프로젝트에 이미지 모듈에 추가하고 지속적 개선을 진행합니다.
여럿이 모여 하나는 인공 신경망 코어 프레임워크를 구현합니다.
일반적인 Python 신경망 프레임워크 + numpy (GPU 컴퓨팅 + 싱글스레드 CPU와 UMA 기반)와 차이점이 있습니다.
여럿이 모여 하나는 매니코어 병렬 처리에 대응하기위해
kernel
처리에 활용합니다.template <typename F, typename T>
T trans_matrix(F f, T &m) {
transform(std::execution::par,
m.begin(), m.end(),
m.begin(), [f](auto v) -> auto {
return f(v);
});
return m;
}
filter
, conv2d
처리에 활용합니다.template <typename F, typename T>
T trans_tensor(F f, T &t) {
transform(std::execution::par,
t.begin(), t.end(),
t.begin(), [f](auto m) -> auto {
return trans_matrix(f, m);
});
return t;
}
Input images | Output images |
---|---|
![]() |
![]() |
Input images | Output images |
---|---|
![]() |
![]() |
Input images | Output images |
---|---|
![]() |
![]() |