2010-06-19 6 views
2

숫자 선형 대수학에 numpy를 사용합니다. 예를 들어 특정 계산을 수행하는 방식을 약간 수정하면 성능이 향상 될 수 있다고 생각합니다. 예를 들어 메모리를 더 효율적으로 사용할 수 있습니다.파이썬에서 수치 선형 대수학을위한 수단

파이썬에서 캐시 및 TLB 누락을 감지 할 수있는 계기가 있는지 궁금합니다. 이 아주 좋은 API를, PAPI 내가 최근 클래스에 대해 배운 것을,하지만 그것은 파이썬 인터페이스가 없습니다 : 또한

http://icl.cs.utk.edu/papi/overview/index.html

을, 좋은 NumPy와 프로파일 링 일반적 방법 등이있다 파이썬 수치 코드? timeit 모듈은 코드에 통합하기가 어렵습니다. mpi4py는 MPE 라이브러리를 사용하여 프로필을 작성하는 좋은 방법입니다. 데모 코드 (데모/MPE-로깅/cpilog.py)에서 미리보기 :

communication = MPE.newLogState("Comunicate", "red") 
with communication: 
    comm.Bcast([n, MPI.INT], root=0) 

로그 파일이 생성 그래픽으로 표시 할 수 있습니다. 그러나 이것은 약간의 MPI 특정입니다.

감사합니다.

+0

질문의 "성능 향상"부분에서 실제로 무엇을하고 있습니까? numpy 기능, vec/배열 크기, 캐시 크기는 무엇입니까? – denis

+0

대부분 밀도가 높은 매트릭스는 캐시 크기에서 훨씬 큰 매트릭스 크기까지 곱합니다. – Paul

답변

1

로버트 컨 (NumPy 개발 업체 중 하나)은 정확히이 시나리오에 대해 line_profiler이라고 기록했습니다. 핫스팟/cProfile보다 NumPy가 많은 코드를 프로파일 링하는 데 더 적합합니다.

+0

감사합니다. 매우 도움이됩니다. – Paul

1

제공된 프로파일 러 중 하나가 핫스팟을 찾는 데 도움이 될 수 있습니까?

아마 직접 행동을 실행하는 데 충분한 정보를 제공하지 않습니다 profiling python

이를 볼 수 있지만 어디 개선을위한보고 수확 체감의 지점을 결정하는 데 도움이하는 표시해야합니다.