Pioneer
SCALE-SIM 뜯어보기 (5): simulator.py 본문
__init__(..) across line 9:22
몇 가지 플래그 변수를 초기화하고 설정과 토폴로지에 대한 인스턴스 생성
특이하게 scale_sim에서도 생성했던 설정과 토폴로지 인스턴스를 여기서도 생성한다.
레이어 별로 동작하기 위한 빈 배열을 하나 생성한다.
set_params(..) across line 25:43
여기선 설정과 토폴로지에 대한 변수에 scale_sim에서 생성했던 것을 할당한다.
여러 사람이 개발하면서 코드가 꼬였나싶다.
그 외 시뮬레이터에 필요한 외부 파라미터를 설정한다.
run(..) across line 46:107
50-57: 실제로는 레이어 별로 시뮬레이션이 실행되기에 layer_sim(-) 인스턴스를 레이어 별로 생성하고 파라미터를 초기화한다.
71-103: 레이어 시뮬레이션 인스턴스를 모아둔 배열을 순회하며 시뮬레이션을 수행한다.
루프 블록 내 대부분의 코드가 연산량, 대역폭 등 정보를 나타내는 출력 코드이다.
참고로 이 부분은 구현되지 않았으나 주석으로 향후 병렬 처리를 지원할 것이라는 언급이 있다.
107: 모든 레이어의 시뮬레이션이 끝나면 리포트 파일을 생성한다.
다음은 해당 클래스 메서드 run에서 호출하는 single_layer_sim 클래스와 메서드에 대해 분석한다.
'HPC > SCALE-SIM' 카테고리의 다른 글
SCALE-SIM 뜯어보기 (6): single_layer_sim.py (0) | 2024.11.26 |
---|---|
SCALE-SIM 뜯어보기 (4): scale_config.py [pt.1] (0) | 2024.11.14 |
SCALE-SIM 뜯어보기 (3): topology_utils.py [pt.1] (0) | 2024.11.13 |
SCALE-SIM 뜯어보기 (2): 실행 진입점과 scalesim (0) | 2024.11.12 |
SCALE-SIM 뜯어보기 (1): 설치 및 테스트 (0) | 2024.11.08 |