Loop Id: 2325 | Module: exec | Source: par_csr_matop.c:127-242 [...] | Coverage: 0.03% |
---|
Loop Id: 2325 | Module: exec | Source: par_csr_matop.c:127-242 [...] | Coverage: 0.03% |
---|
0x5074f3 CMPQ $0,-0xb0(%RBP) |
0x5074fb MOV %RBX,%RCX |
0x5074fe MOV %R10,%R8 |
0x507501 JNE 5075dc |
0x507507 MOV -0x50(%RBP),%R11 |
0x50750b MOV (%R11,%RDX,8),%R12 |
0x50750f CMP 0x8(%R11,%RDX,8),%R12 |
0x507514 JGE 507589 |
0x507516 MOV %RDX,-0x48(%RBP) |
0x50751a MOV -0xc8(%RBP),%R9 |
0x507521 NOPL (%RAX) |
(2330) 0x507528 MOV -0x68(%RBP),%R14 |
(2330) 0x50752c MOV -0x60(%RBP),%RSI |
(2330) 0x507530 MOV (%R14,%R12,8),%R14 |
(2330) 0x507534 LEA 0x8(,%R14,8),%R13 |
(2330) 0x50753c MOV (%RSI,%R14,8),%RAX |
(2330) 0x507540 LEA (%RSI,%R13,1),%R11 |
(2330) 0x507544 MOV (%R11),%RSI |
(2330) 0x507547 CMP %RSI,%RAX |
(2330) 0x50754a JGE 507569 |
(2330) 0x50754c NOPL (%RAX) |
(2332) 0x507550 MOV (%R9,%RAX,8),%RDX |
(2332) 0x507554 LEA (%RDI,%RDX,8),%RDX |
(2332) 0x507558 CMP %RBX,(%RDX) |
(2332) 0x50755b JL 5076c0 |
(2332) 0x507561 INC %RAX |
(2332) 0x507564 CMP %RSI,%RAX |
(2332) 0x507567 JL 507550 |
(2330) 0x507569 CMPQ $0,-0x58(%RBP) |
(2330) 0x50756e JNE 5076e0 |
(2330) 0x507574 MOV -0x50(%RBP),%R13 |
(2330) 0x507578 MOV -0x48(%RBP),%RAX |
(2330) 0x50757c INC %R12 |
(2330) 0x50757f CMP %R12,0x8(%R13,%RAX,8) |
(2330) 0x507584 JG 507528 |
0x507586 MOV %RAX,%RDX |
0x507589 MOV -0xb8(%RBP),%R12 |
0x507590 MOV %RBX,(%R12,%RDX,8) |
0x507594 MOV -0xc0(%RBP),%RBX |
0x50759b MOV %R10,(%RBX,%RDX,8) |
0x50759f INC %RDX |
0x5075a2 CMP %RDX,-0xa0(%RBP) |
0x5075a9 JE 50778a |
0x5075af CMPQ $0,-0xa8(%RBP) |
0x5075b7 MOV %R8,%R10 |
0x5075ba MOV %RCX,%RBX |
0x5075bd JE 5074f3 |
0x5075dc MOV -0x78(%RBP),%R12 |
0x5075e0 MOV (%R12,%RDX,8),%R9 |
0x5075e4 MOV %R9,-0x48(%RBP) |
0x5075e8 CMP 0x8(%R12,%RDX,8),%R9 |
0x5075ed JGE 507507 |
0x5075f3 MOV -0x38(%RBP),%R11 |
0x5075f7 MOV %R15,-0xd0(%RBP) |
0x5075fe MOV %RDX,-0x70(%RBP) |
0x507602 MOV -0xe0(%RBP),%R12 |
0x507609 MOV -0xe8(%RBP),%R14 |
(2326) 0x507610 MOV -0x98(%RBP),%R13 |
(2326) 0x507617 MOV -0x48(%RBP),%R15 |
(2326) 0x50761b MOV -0x80(%RBP),%RDX |
(2326) 0x50761f MOV (%R13,%R15,8),%R15 |
(2326) 0x507624 LEA 0x8(,%R15,8),%R9 |
(2326) 0x50762c MOV (%RDX,%R15,8),%RAX |
(2326) 0x507630 LEA (%RDX,%R9,1),%R13 |
(2326) 0x507634 MOV (%R13),%RSI |
(2326) 0x507638 CMP %RSI,%RAX |
(2326) 0x50763b JGE 50765c |
(2326) 0x50763d NOPL (%RAX) |
(2328) 0x507640 MOV (%R12,%RAX,8),%RDX |
(2328) 0x507644 ADD %R11,%RDX |
(2328) 0x507647 LEA (%RDI,%RDX,8),%RDX |
(2328) 0x50764b CMP %R10,(%RDX) |
(2328) 0x50764e JL 507750 |
(2328) 0x507654 INC %RAX |
(2328) 0x507657 CMP %RSI,%RAX |
(2328) 0x50765a JL 507640 |
(2326) 0x50765c MOV -0x88(%RBP),%R13 |
(2326) 0x507663 ADD %R13,%R9 |
(2326) 0x507666 MOV (%R13,%R15,8),%R15 |
(2326) 0x50766b MOV (%R9),%RSI |
(2326) 0x50766e CMP %RSI,%R15 |
(2326) 0x507671 JGE 507691 |
(2326) 0x507673 NOPL (%RAX,%RAX,1) |
(2327) 0x507678 MOV (%R14,%R15,8),%RAX |
(2327) 0x50767c LEA (%RDI,%RAX,8),%RDX |
(2327) 0x507680 CMP %RBX,(%RDX) |
(2327) 0x507683 JL 507770 |
(2327) 0x507689 INC %R15 |
(2327) 0x50768c CMP %RSI,%R15 |
(2327) 0x50768f JL 507678 |
(2326) 0x507691 MOV -0x78(%RBP),%R13 |
(2326) 0x507695 MOV -0x70(%RBP),%RAX |
(2326) 0x507699 INCQ -0x48(%RBP) |
(2326) 0x50769d MOV -0x48(%RBP),%R9 |
(2326) 0x5076a1 CMP %R9,0x8(%R13,%RAX,8) |
(2326) 0x5076a6 JG 507610 |
0x5076ac MOV -0xd0(%RBP),%R15 |
0x5076b3 MOV %RAX,%RDX |
0x5076b6 JMP 507507 |
(2332) 0x5076c0 MOV %RCX,(%RDX) |
(2332) 0x5076c3 MOV (%R11),%RSI |
(2332) 0x5076c6 INC %RAX |
(2332) 0x5076c9 INC %RCX |
(2332) 0x5076cc CMP %RAX,%RSI |
(2332) 0x5076cf JG 507550 |
(2330) 0x5076d5 CMPQ $0,-0x58(%RBP) |
(2330) 0x5076da JE 507574 |
(2330) 0x5076e0 MOV -0x90(%RBP),%R11 |
(2330) 0x5076e7 ADD %R11,%R13 |
(2330) 0x5076ea MOV (%R11,%R14,8),%RAX |
(2330) 0x5076ee MOV (%R13),%RSI |
(2330) 0x5076f2 CMP %RSI,%RAX |
(2330) 0x5076f5 JGE 507574 |
(2330) 0x5076fb NOPL (%RAX,%RAX,1) |
(2331) 0x507700 MOV (%R15,%RAX,8),%RDX |
(2331) 0x507704 MOV -0x40(%RBP),%R11 |
(2331) 0x507708 MOV -0x38(%RBP),%R14 |
(2331) 0x50770c ADD (%R11,%RDX,8),%R14 |
(2331) 0x507710 LEA (%RDI,%R14,8),%RDX |
(2331) 0x507714 CMP %R10,(%RDX) |
(2331) 0x507717 JL 507730 |
(2331) 0x507719 INC %RAX |
(2331) 0x50771c CMP %RSI,%RAX |
(2331) 0x50771f JL 507700 |
(2330) 0x507721 JMP 507574 |
(2331) 0x507730 MOV %R8,(%RDX) |
(2331) 0x507733 MOV (%R13),%RSI |
(2331) 0x507737 INC %RAX |
(2331) 0x50773a INC %R8 |
(2331) 0x50773d CMP %RAX,%RSI |
(2331) 0x507740 JG 507700 |
(2330) 0x507742 JMP 507574 |
(2328) 0x507750 MOV %R8,(%RDX) |
(2328) 0x507753 MOV (%R13),%RSI |
(2328) 0x507757 INC %RAX |
(2328) 0x50775a INC %R8 |
(2328) 0x50775d CMP %RAX,%RSI |
(2328) 0x507760 JG 507640 |
(2326) 0x507766 JMP 50765c |
(2327) 0x507770 MOV %RCX,(%RDX) |
(2327) 0x507773 MOV (%R9),%RSI |
(2327) 0x507776 INC %R15 |
(2327) 0x507779 INC %RCX |
(2327) 0x50777c CMP %R15,%RSI |
(2327) 0x50777f JG 507678 |
(2326) 0x507785 JMP 507691 |
/beegfs/hackathon/users/eoseret/qaas_runs/170-859-5251/intel/AMG/build/AMG/AMG/parcsr_mv/par_csr_matop.c: 127 - 242 |
-------------------------------------------------------------------------------- |
127: for (i1 = ns; i1 < ne; i1++) |
[...] |
135: if ( allsquare ) { |
[...] |
144: if (num_cols_offd_A) |
145: { |
146: for (jj2 = A_offd_i[i1]; jj2 < A_offd_i[i1+1]; jj2++) |
[...] |
154: for (jj3 = B_ext_offd_i[i2]; jj3 < B_ext_offd_i[i2+1]; jj3++) |
155: { |
156: i3 = num_cols_diag_B+B_ext_offd_j[jj3]; |
[...] |
164: if (B_marker[i3] < jj_row_begin_offd) |
165: { |
166: B_marker[i3] = jj_count_offd; |
167: jj_count_offd++; |
168: } |
169: } |
170: for (jj3 = B_ext_diag_i[i2]; jj3 < B_ext_diag_i[i2+1]; jj3++) |
171: { |
172: i3 = B_ext_diag_j[jj3]; |
173: |
174: if (B_marker[i3] < jj_row_begin_diag) |
175: { |
176: B_marker[i3] = jj_count_diag; |
177: jj_count_diag++; |
[...] |
187: for (jj2 = A_diag_i[i1]; jj2 < A_diag_i[i1+1]; jj2++) |
[...] |
195: for (jj3 = B_diag_i[i2]; jj3 < B_diag_i[i2+1]; jj3++) |
[...] |
205: if (B_marker[i3] < jj_row_begin_diag) |
206: { |
207: B_marker[i3] = jj_count_diag; |
208: jj_count_diag++; |
[...] |
216: if (num_cols_offd_B) |
217: { |
218: for (jj3 = B_offd_i[i2]; jj3 < B_offd_i[i2+1]; jj3++) |
219: { |
220: i3 = num_cols_diag_B+map_B_to_C[B_offd_j[jj3]]; |
[...] |
228: if (B_marker[i3] < jj_row_begin_offd) |
229: { |
230: B_marker[i3] = jj_count_offd; |
231: jj_count_offd++; |
[...] |
241: (*C_diag_i)[i1] = jj_row_begin_diag; |
242: (*C_offd_i)[i1] = jj_row_begin_offd; |
Path / |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 4.63 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.26 |
Bottlenecks | P5, P6, P7, |
Function | hypre_ParMatmul_RowSizes._omp_fn.0 |
Source | par_csr_matop.c:127-127,par_csr_matop.c:135-135,par_csr_matop.c:144-146,par_csr_matop.c:187-187,par_csr_matop.c:241-242 |
Source loop unroll info | NA |
Source loop unroll confidence level | NA |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 7.33 |
CQA cycles if no scalar integer | 7.33 |
CQA cycles if FP arith vectorized | 7.33 |
CQA cycles if fully vectorized | 1.58 |
Front-end cycles | 5.83 |
DIV/SQRT cycles | 3.00 |
P0 cycles | 2.00 |
P1 cycles | 2.00 |
P2 cycles | 2.00 |
P3 cycles | 3.00 |
P4 cycles | 7.33 |
P5 cycles | 7.33 |
P6 cycles | 7.33 |
P7 cycles | 0.00 |
P8 cycles | 0.00 |
P9 cycles | 0.00 |
P10 cycles | 0.00 |
P11 cycles | 0.00 |
P12 cycles | 0.00 |
P13 cycles | 0.00 |
Inter-iter dependencies cycles | NA |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 36.00 |
Nb uops | 35.00 |
Nb loads | 16.00 |
Nb stores | 6.00 |
Nb stack references | 14.00 |
FLOP/cycle | 0.00 |
Nb FLOP add-sub | 0.00 |
Nb FLOP mul | 0.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 24.00 |
Bytes prefetched | 0.00 |
Bytes loaded | 128.00 |
Bytes stored | 48.00 |
Stride 0 | NA |
Stride 1 | NA |
Stride n | NA |
Stride unknown | NA |
Stride indirect | NA |
Vectorization ratio all | 0.00 |
Vectorization ratio load | 0.00 |
Vectorization ratio store | 0.00 |
Vectorization ratio mul | NA |
Vectorization ratio add_sub | NA |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 0.00 |
Vector-efficiency ratio all | 12.50 |
Vector-efficiency ratio load | 12.50 |
Vector-efficiency ratio store | 12.50 |
Vector-efficiency ratio mul | NA |
Vector-efficiency ratio add_sub | NA |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 12.50 |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 4.63 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.26 |
Bottlenecks | P5, P6, P7, |
Function | hypre_ParMatmul_RowSizes._omp_fn.0 |
Source | par_csr_matop.c:127-127,par_csr_matop.c:135-135,par_csr_matop.c:144-146,par_csr_matop.c:187-187,par_csr_matop.c:241-242 |
Source loop unroll info | NA |
Source loop unroll confidence level | NA |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 7.33 |
CQA cycles if no scalar integer | 7.33 |
CQA cycles if FP arith vectorized | 7.33 |
CQA cycles if fully vectorized | 1.58 |
Front-end cycles | 5.83 |
DIV/SQRT cycles | 3.00 |
P0 cycles | 2.00 |
P1 cycles | 2.00 |
P2 cycles | 2.00 |
P3 cycles | 3.00 |
P4 cycles | 7.33 |
P5 cycles | 7.33 |
P6 cycles | 7.33 |
P7 cycles | 0.00 |
P8 cycles | 0.00 |
P9 cycles | 0.00 |
P10 cycles | 0.00 |
P11 cycles | 0.00 |
P12 cycles | 0.00 |
P13 cycles | 0.00 |
Inter-iter dependencies cycles | NA |
FE+BE cycles (UFS) | NA |
Stall cycles (UFS) | NA |
Nb insns | 36.00 |
Nb uops | 35.00 |
Nb loads | 16.00 |
Nb stores | 6.00 |
Nb stack references | 14.00 |
FLOP/cycle | 0.00 |
Nb FLOP add-sub | 0.00 |
Nb FLOP mul | 0.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 24.00 |
Bytes prefetched | 0.00 |
Bytes loaded | 128.00 |
Bytes stored | 48.00 |
Stride 0 | NA |
Stride 1 | NA |
Stride n | NA |
Stride unknown | NA |
Stride indirect | NA |
Vectorization ratio all | 0.00 |
Vectorization ratio load | 0.00 |
Vectorization ratio store | 0.00 |
Vectorization ratio mul | NA |
Vectorization ratio add_sub | NA |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 0.00 |
Vector-efficiency ratio all | 12.50 |
Vector-efficiency ratio load | 12.50 |
Vector-efficiency ratio store | 12.50 |
Vector-efficiency ratio mul | NA |
Vector-efficiency ratio add_sub | NA |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 12.50 |
Path / |
Function | hypre_ParMatmul_RowSizes._omp_fn.0 |
Source file and lines | par_csr_matop.c:127-242 |
Module | exec |
nb instructions | 36 |
nb uops | 35 |
loop length | 181 |
used x86 registers | 12 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 14 |
micro-operation queue | 5.83 cycles |
front end | 5.83 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 3.00 | 2.00 | 2.00 | 2.00 | 3.00 | 7.33 | 7.33 | 7.33 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
cycles | 3.00 | 2.00 | 2.00 | 2.00 | 3.00 | 7.33 | 7.33 | 7.33 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
Cycles executing div or sqrt instructions | NA |
Front-end | 5.83 |
Dispatch | 7.33 |
Overall L1 | 7.33 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 0% |
all | 12% |
load | 12% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 12% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CMPQ $0,-0xb0(%RBP) | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
MOV %RBX,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %R10,%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JNE 5075dc <hypre_ParMatmul_RowSizes._omp_fn.0+0x2cc> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
MOV -0x50(%RBP),%R11 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV (%R11,%RDX,8),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
CMP 0x8(%R11,%RDX,8),%R12 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
JGE 507589 <hypre_ParMatmul_RowSizes._omp_fn.0+0x279> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
MOV %RDX,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
MOV -0xc8(%RBP),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
NOPL (%RAX) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.09 |
MOV %RAX,%RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0xb8(%RBP),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %RBX,(%R12,%RDX,8) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
MOV -0xc0(%RBP),%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %R10,(%RBX,%RDX,8) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
INC %RDX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
CMP %RDX,-0xa0(%RBP) | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
JE 50778a <hypre_ParMatmul_RowSizes._omp_fn.0+0x47a> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
CMPQ $0,-0xa8(%RBP) | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
MOV %R8,%R10 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RCX,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JE 5074f3 <hypre_ParMatmul_RowSizes._omp_fn.0+0x1e3> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
MOV -0x78(%RBP),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV (%R12,%RDX,8),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %R9,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
CMP 0x8(%R12,%RDX,8),%R9 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
JGE 507507 <hypre_ParMatmul_RowSizes._omp_fn.0+0x1f7> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
MOV -0x38(%RBP),%R11 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %R15,-0xd0(%RBP) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
MOV %RDX,-0x70(%RBP) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
MOV -0xe0(%RBP),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV -0xe8(%RBP),%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV -0xd0(%RBP),%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %RAX,%RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 507507 <hypre_ParMatmul_RowSizes._omp_fn.0+0x1f7> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Function | hypre_ParMatmul_RowSizes._omp_fn.0 |
Source file and lines | par_csr_matop.c:127-242 |
Module | exec |
nb instructions | 36 |
nb uops | 35 |
loop length | 181 |
used x86 registers | 12 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 14 |
micro-operation queue | 5.83 cycles |
front end | 5.83 cycles |
ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 3.00 | 2.00 | 2.00 | 2.00 | 3.00 | 7.33 | 7.33 | 7.33 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
cycles | 3.00 | 2.00 | 2.00 | 2.00 | 3.00 | 7.33 | 7.33 | 7.33 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
Cycles executing div or sqrt instructions | NA |
Front-end | 5.83 |
Dispatch | 7.33 |
Overall L1 | 7.33 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 0% |
all | 12% |
load | 12% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 12% |
Instruction | Nb FU | ALU0/BRU0 | ALU1 | ALU2 | ALU3 | BRU1 | AGU0 | AGU1 | AGU2 | FP0 | FP1 | FP2 | FP3 | FP4 | FP5 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CMPQ $0,-0xb0(%RBP) | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
MOV %RBX,%RCX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %R10,%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JNE 5075dc <hypre_ParMatmul_RowSizes._omp_fn.0+0x2cc> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
MOV -0x50(%RBP),%R11 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV (%R11,%RDX,8),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
CMP 0x8(%R11,%RDX,8),%R12 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
JGE 507589 <hypre_ParMatmul_RowSizes._omp_fn.0+0x279> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
MOV %RDX,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
MOV -0xc8(%RBP),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
NOPL (%RAX) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.09 |
MOV %RAX,%RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV -0xb8(%RBP),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %RBX,(%R12,%RDX,8) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
MOV -0xc0(%RBP),%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %R10,(%RBX,%RDX,8) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
INC %RDX | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 |
CMP %RDX,-0xa0(%RBP) | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
JE 50778a <hypre_ParMatmul_RowSizes._omp_fn.0+0x47a> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
CMPQ $0,-0xa8(%RBP) | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
MOV %R8,%R10 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
MOV %RCX,%RBX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JE 5074f3 <hypre_ParMatmul_RowSizes._omp_fn.0+0x1e3> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
MOV -0x78(%RBP),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV (%R12,%RDX,8),%R9 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %R9,-0x48(%RBP) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
CMP 0x8(%R12,%RDX,8),%R9 | 1 | 0.25 | 0.25 | 0.25 | 0.25 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 |
JGE 507507 <hypre_ParMatmul_RowSizes._omp_fn.0+0x1f7> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50-1 |
MOV -0x38(%RBP),%R11 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %R15,-0xd0(%RBP) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
MOV %RDX,-0x70(%RBP) | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0.50 |
MOV -0xe0(%RBP),%R12 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV -0xe8(%RBP),%R14 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV -0xd0(%RBP),%R15 | 1 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0.33 |
MOV %RAX,%RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.17 |
JMP 507507 <hypre_ParMatmul_RowSizes._omp_fn.0+0x1f7> | 1 | 0.50 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |