약 1.5GB의 HDF5 파일이 약 500 개 있습니다.많은 수의 HDF5 파일 연결하기
각각의 파일은 7 개의 복합 (int, double, double) 데이터 세트 및 가변 개수의 샘플 인 정확한 구조를가집니다.
이제 각 데이터 세트를 연결하여이 모든 파일을 연결하여 결국 7 개의 데이터 세트가있는 750GB 파일 하나가 생성됩니다.
현재 나는 h5py 스크립트를 실행하고 있습니다 :- 는
- 순서에 열려있는 모든 파일 무제한 최대의 오른쪽 데이터 세트와 HDF5 파일을 만듭니다 샘플 수 (무엇
- 확인 이 변수로)
- 는
- 데이터를 추가 글로벌 파일의 크기를 조정
이것은 분명히 많은 시간이 걸립니다. 개선에 대한 제안이 있으십니까?
클러스터에서 작업 중이므로 병렬로 HDF5를 사용할 수 있지만 충분하지 않습니다. C 프로그래밍을 직접 프로그래밍하여 도구를 작성해야합니다.
한 쌍의 파일을 병합 할 가능성이 있습니다 귀하의 클러스터; 문제를 250 개의 3GB 파일, 125 개의 6GB 파일 등으로 줄입니다. 나중에 병합 할 때 부분적으로 병합 된 파일이 시간을 절약 할 수있는 경우에만 도움이됩니다. – sarnold
@sarnold NERSC의 호퍼를 연구 중이며 이론적 인 I/O 속도는 25GB/s이고 파일 시스템은 완전히 병렬이며 MPI I/O를 지원합니다. –
한 번에 3 또는 4 개의 파일을 읽고 다시 쓰려고 생각했지만 가장 좋은 방법은 어떻게 든 mpi I/O를 이용하는 c 유틸리티입니다. –