Làm cách nào để kiểm tra xem phiên bản được cài đặt của tôi có được biên dịch bằng bộ lệnh SSE/SSE2 không? Tôi biết rằng một số phần của numpy đang sử dụng BLAS, làm thế nào để kiểm tra BLAS quá?Làm cách nào để kiểm tra xem bộ nhớ được cài đặt của tôi có được biên dịch bằng bộ lệnh SSE/SSE2 không?
Trả lời
Hãy xem tại địa chỉ:
import numpy.distutils.system_info as sysinfo
sysinfo.show_all()
này sẽ in ra tất cả các thông tin về những gì NumPy được biên dịch chống lại.
Tôi nghĩ rằng một cách là sử dụng objdump trên một tập tin numpy.so nếu bạn đang ở dưới Linux, và grep cho lệnh cụ thể cho sse.
cho SSE3 (http://en.wikipedia.org/wiki/SSE3):
objdump -d /usr/lib/pyshared/python2.7/numpy/core/*.so | grep -i MOVDDUP
cho SSE2 (http://fr.wikipedia.org/wiki/Jeu_d%27instructions_x86#Instructions_SSE2):
objdump -d /usr/lib/pyshared/python2.7/numpy/core/*.so | grep -i ADDPD
nếu bạn nhận được một số kết quả với grep nó có nghĩa là nhị phân đã được biên soạn với những lá cờ SSE .
Trong hệ thống của tôi (dẫn xuất của Ubuntu 14.04), các tệp đó là '/usr/lib/python2.7/dist-packages/numpy/core/*. –
Để tìm vị trí sần sùi của bạn: 'python3 -c" nhập gọn gàng; in (numpy .__ file __) "' – RedEyed
Điều này không trả lời câu hỏi, vì nó không kiểm tra bất kỳ sự phụ thuộc nào tùy thuộc vào nó một cách đệ quy. – TimZaman