Product & Environment
- Product: MLX-A1
- OS: Ubuntu 22.04
Description
MLX-A1에서 kernel별로 프로파일링 하는 도구가 있는지 궁금합니다. kernel별로 roofline을 그릴 수 있는지 궁금합니다.
MLX-A1에서 kernel별로 프로파일링 하는 도구가 있는지 궁금합니다. kernel별로 roofline을 그릴 수 있는지 궁금합니다.
혹시 roofline 분석을 어떤 목적으로 활용하고자 하시는지 조금 더 구체적으로 알 수 있을까요?
참고로 현재 저희 Runtime에서 제공하는 프로파일링 기능은 다음과 같습니다.
startTracingEvents() / stopTracingEvents()를 통해 NPU 상에서 실행되는 추론 요청(inference) 혹은 qb Runtime 이벤트 단위의 실행 트레이스를 .json 형식으로 기록할 수 있습니다.
생성된 트레이스 파일은 Perfetto UI(https://ui.perfetto.dev/)에서 열어, 각 이벤트의 실행 시간과 순서를 타임라인 형태로 확인하실 수 있습니다.
https://docs.mobilint.com/runtime/v1.3/en/advanced_usage.html 에 있는 Tracing NPU Usage 부분을 참고하시면 됩니다.
혹시 roofline 분석을 어떤 목적으로 활용하고자 하시는지 조금 더 구체적으로 알 수 있을까요?
특정 모델 서빙 시에 커널별로 확인하여 모빌린트 디바이스에서 모델이 잘 동작하는지 확인하려 합니다.
최대한 compute bound와 memory bound에 붙여서 디바이스를 효율적으로 사용하고자 하는 목적입니다.
감사합니다.
저희 쪽에서 커널별로 별도의 compute, memory bound 분석 및 확인 기능을 제공하고 있지는 않습니다.
우선은 앞서 안내드린 Runtime Profiler를 통해 작업 진행해보시고, 진행하시다가 막히는 부분이나 추가로 궁금하신 점 있으시면 언제든 편하게 문의 주세요.
감사합니다.