Ubuntu - как определить, используется ли AVX или SSE текущим приложением процессора? - PullRequest
0 голосов
/ 21 февраля 2020

Я в настоящий момент запускаю BOIN C на нескольких серверах с графическими процессорами.

На серверах работают приложения как на GPU, так и на CPU BOIN C.

По мере замедления AVX и SSE Частота ЦП при использовании в приложении ЦП, я должен выбрать, какой ЦП / ГП я использую вместе, так как некоторые приложения ГП получают шейку bottle (медленное завершение времени выполнения), а другие нет.

В настоящее время некоторые приложения CPU названы так, чтобы было ясно, используют ли они AVX, но большинство из них нет.

Поэтому есть какая-либо команда, которую я могу запустить, и какой-то способ просмотра, чтобы увидеть, есть ли какая-либо из Приложения ЦП, которые в настоящее время работают, используют AVX или SSE (любые версии)?

Также в качестве примечания следует ли относиться к любому использованию FMA таким же образом (например, замедляет ли он частоту ЦП из-за увеличения температуры ЦП). )?

Спасибо

1 Ответ

2 голосов
/ 21 февраля 2020

Вы можете использовать perf top, чтобы увидеть количество выполненных в реальном времени инструкций AVX и SSE вместе с именами исполняемых и совместно используемых библиотек:

perf top -e fp_arith_inst_retired.128b_packed_single -e fp_arith_inst_retired.128b_packed_double -e fp_arith_inst_retired.256b_packed_single -e fp_arith_inst_retired.256b_packed_double

Описание счетчиков (от perf list выход на процессоре Intel Coffee Lake):

floating point:
  fp_arith_inst_retired.128b_packed_double          
       [Number of SSE/AVX computational 128-bit packed double precision floating-point instructions retired. Each count represents 2 computations. Applies to SSE* and AVX*
        packed double precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT DPP FM(N)ADD/SUB. DPP and FM(N)ADD/SUB instructions count twice as they perform
        multiple calculations per element]
  fp_arith_inst_retired.128b_packed_single          
       [Number of SSE/AVX computational 128-bit packed single precision floating-point instructions retired. Each count represents 4 computations. Applies to SSE* and AVX*
        packed single precision floating-point instructions: ADD SUB MUL DIV MIN MAX RCP RSQRT SQRT DPP FM(N)ADD/SUB. DPP and FM(N)ADD/SUB instructions count twice as they
        perform multiple calculations per element]
  fp_arith_inst_retired.256b_packed_double          
       [Number of SSE/AVX computational 256-bit packed double precision floating-point instructions retired. Each count represents 4 computations. Applies to SSE* and AVX*
        packed double precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT DPP FM(N)ADD/SUB. DPP and FM(N)ADD/SUB instructions count twice as they perform
        multiple calculations per element]
  fp_arith_inst_retired.256b_packed_single          
       [Number of SSE/AVX computational 256-bit packed single precision floating-point instructions retired. Each count represents 8 computations. Applies to SSE* and AVX*
        packed single precision floating-point instructions: ADD SUB MUL DIV MIN MAX RCP RSQRT SQRT DPP FM(N)ADD/SUB. DPP and FM(N)ADD/SUB instructions count twice as they
        perform multiple calculations per element]
  fp_arith_inst_retired.scalar_double               
       [Number of SSE/AVX computational scalar double precision floating-point instructions retired. Each count represents 1 computation. Applies to SSE* and AVX* scalar double
        precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT FM(N)ADD/SUB. FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element]
  fp_arith_inst_retired.scalar_single               
       [Number of SSE/AVX computational scalar single precision floating-point instructions retired. Each count represents 1 computation. Applies to SSE* and AVX* scalar single
        precision floating-point instructions: ADD SUB MUL DIV MIN MAX RCP RSQRT SQRT FM(N)ADD/SUB. FM(N)ADD/SUB instructions count twice as they perform multiple calculations
        per element]
  fp_assist.any                                     
       [Cycles with any input/output SSE or FP assist]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...