Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Pioneer

SCALE-SIM 뜯어보기 (5): simulator.py 본문

HPC/SCALE-SIM

SCALE-SIM 뜯어보기 (5): simulator.py

hwkang 2024. 11. 15. 16:31

__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 클래스와 메서드에 대해 분석한다.