2017-10-03 5 views
1

- :HDF5의 블록 크기는 얼마입니까? <a href="https://support.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectHyperslab" rel="nofollow noreferrer">HDF5 Hyperslab doc</a> 인용

블록 배열 dataspace으로부터 선택된 요소의 블록의 크기를 결정한다.

예는 다음과 같은 -에 설정된 파라미터를 갖는 2 × 2 세트에서 보여

start offset is specified as [1,1], stride is [4,4], count is [3,7], and block is [2,2] 

21 × 2 블록을 초래할 것이다. 선택 범위가 (1,1), (5,1), (9,1), (1,5), (5,5) 일 때 시작 지점이 (1,1)이므로 해당 지점에서 선택이 시작되고 스트라이드가 (4,4)이기 때문에 선택 항목이 각 차원에서 4를 이동하고 개수는 (3)이므로 이해할 수 있습니다. , 7) X 방향으로 3 번 4 방향으로 Y 방향으로 4 번씩 증가시킵니다. 해당 차원에서.

그러나 블록 크기가 무엇인지 이해할 수 없습니까? 21 개의 2x2 차원 블록을 얻는다는 의미입니까? 즉, 각 블록에는 개의 요소가 포함되지만 개수는 3 차원에서 이미 설정되어 있으므로 어떻게 가능합니까?

답변

-2

HDFS 기본 블록 크기는 우리의 요구 사항에 따라 증가 할 수있는 64MB입니다 .1 매퍼는 한 번에 1 블록 씩 처리합니다.

+0

를 만들 것입니다. 그들은 서로 다른 모든 것들입니다. –

0

H5Sselect_hypserslab()을 통해 만든 하이퍼 슬라브 선택을 사용하면 반복되는 요소 블록으로 정의 된 영역을 만들 수 있습니다.

이 내용은 HDF5 사용자 안내서 found here의 7.4.2.2 절 (7.4.2.2로 조금 아래로 스크롤)에 설명되어 있습니다. H5Sselect_hyperslab() 참조 설명서 항목이 도움이 될 수도 있습니다. 여기

은 UG에서 도면이다

  • 오프셋 = (0,1)
  • 스트라이드 (여기

    enter image description here

    그리고 도면에 사용 된 값은 4,3)

  • 카운트 = (2,4)
  • 블록 = (3,2)

반복 단위가 3x2 요소 블록 인 점에 유의하십시오. 그래서 네, 21x2 블록을 얻을 것입니다. 하나의 차원에는 3 개의 블록, 다른 하나에는 7 개의 격자가 있으며, 각 방향으로 4 개의 요소가 떨어져 있습니다. 첫 번째 블록은 1,1로 오프셋됩니다.

이 API 호출에 대해 가장 혼란스러운 점은 세 개의 매개 변수가 단위로 요소를 포함하고 count는 블록을 단위로 포함한다는 것입니다.

편집 : 아마도 이것이 내가 HDF하지 HDFS에 대해 고려하고 ... 블록과 카운트가 더 분명 사용하는 방법

enter image description here

+0

그렇다면 카운트와 블록의 차이점은 무엇입니까? –

+0

데이터 집합 저장소를 나타내는 그림의 아래쪽 영역 (메모리를 나타내며 숫자를 무시하는 상단 부분 무시)을 보면 블록 배열은 단일 회색 영역의 크기를 요소로 결정합니다. count 배열은 각 차원에 블록 사본이 몇 개 있는지 나타냅니다. –

+0

이 점을 분명히하는 새로운 그림을 추가했습니다. –