0

스파 스 메트릭을 사용하기위한 기능 및 서브 루틴이있는 라이브러리가 인텔 포트란에 있음을 알고 있지만, 데이터 유형 또는 첫 번째 스파 스 메트릭스를 작성하는 자동화 된 메소드가 있는지 궁금합니다. 장소.Fortran의 자동 스파 스 메트릭

배경 : 처음 2 차원 (각 차원에서 ~ 10k ~ ~ 100k 요소, 어쩌면 더 많은 요소)에서 매우 큰 4 차원 배열을 사용하는 프로그램이 있습니다. 첫 번째 2 차원에서 각 배열은 대부분 (95 % 정도) w/zero로 채워집니다. "정상적인"RAM을 사용할 수있는 시스템에서 프로그램을 친화적으로 만들려면 스파 스 매트릭스로 변환하고 싶습니다. 현재 일반 배열이 처리되는 방식은 코드 전체에서 업데이트되는 코드이므로 코드 수정 작업없이 희소 매트릭스 스토리지로 변환 할 방법을 찾고 있습니다. 기본적으로 저는 게으르다. 전체 메모리 관리 구현을 수정하거나 배열이 살아 있고 관리되는 전체 모듈을 작성하고 싶지는 않다. 포트란에 데이터 유형 등을 구현하는 라이브러리 나 다른 라이브러리가있어 각 배열을 다시 엔지니어링하지 않고 스파 스 매트릭스 스토리지를 사용할 수 있고 어떻게 처리 할 수 ​​있습니까? 도와 주셔서 감사합니다. 건배.

답변

0

포트란에서 희소 행렬을 처리하기위한 다양한 스파 스 형식과 다양한 라이브러리가 있습니다 (예를 들어 sparskit, petsc, ...) 그러나, 그들 중 누구도 제공하지 수 본질에 대한 포트란에서 사용할 수 조밀 한 배열 처리 형식주의, 조밀 한 배열 (특히 부분 배열 표기법). 따라서 코드를 변경하여 스파 스 매트릭스를 사용하려는 경우 여러 곳에서 코드를 터치해야합니다.

+0

나는 이것을 두려워했지만 놀랄 일이 아닙니다. 그것은 단지 더 큰 프로젝트와 학습 경험이 될 것 같습니다! 귀하의 의견을 보내 주셔서 감사합니다. – whit