2012-06-27 1 views
0

std 라이브러리의 행렬 함수에 대한 대안이 필요합니다. 스레드 안전성이 있어야하며 행렬 곱셈과 같은 연산을 수행 할 수 있어야하며 16 비트 정수를 지원해야합니다. "Basic Linear Algebra Subprograms"Wikipedia 페이지를보고 필요한 항목을 찾을 수 없었습니다. 구글도 그다지 도움이되지 않는다. Eigen과 dlib와 같은 히트 곡을 들었지만 내 필요와 정확히 일치하는 것은 없습니다. 누구든지 나를위한 훌륭한 대안 라이브러리를 알고 있습니까?16 비트 정수 (C++)를 지원하는 무료 스레드 안전 매트릭스 수학 라이브러리가 필요합니다.

미리 감사드립니다.

+0

귀하의 모든 요구 사항을 충족시키는지는 모르겠지만 UBLAS를 보셨습니까? –

+0

사양에서는 'int'가 32 비트 이상이어야하므로 찾기가 어려울 수 있습니다. 템플릿 라이브러리 (Boost 라이브러리가 될 가능성이 있음) 만이 유일한 희망 일 수 있습니다. – ssube

답변

1

사용 패턴을 모른 채 스레드를 안전하게 만들면 매우 평행하지 않을 것이므로 그러한 것이 존재하는지 잘 모르겠습니다. 그것이 당신이 매트릭스 lib에 스레드를 안전하게 할 수있는 유일한 방법은 그것이 사용될 때마다 전체 lib를 잠그는 것입니다 - 본질적으로 비 병렬화하게 만듭니다.

자신 만의 뮤텍스 클래스를 작성하거나 찾은 다음 행렬 연산을 뮤텍스로 보호하십시오.

뮤텍스를 추가하기 위해 기본 행렬 클래스에서 파생 된 다음 임의의 행렬 객체에서 작동하기 전에 해당 뮤텍스를 잠급니다. 사용 패턴에 대한 약간의 지식 만 있으면 라이브러리에서 잠금이 발생한 경우 수행 할 수있는 것보다 더 평행하게 만들 수 있습니다.

+0

그건 정확히 내가 찾던 해답이 아니 었습니다. 그러나 여러분이 질문에 답한 유일한 사람 이었기 때문에 (다른 말을 덧붙여 말하면서) 아무도 대답을주지 않을 것이므로 여러분의 대답을 말할 것입니다. 받아 들인 대답이다. 솔루션을 제공해 주셔서 감사합니다. – Craw