Loop Id: 940 | Module: exec | Source: par_multi_interp.c:917-1124 [...] | Coverage: 0.06% |
---|
Loop Id: 940 | Module: exec | Source: par_multi_interp.c:917-1124 [...] | Coverage: 0.06% |
---|
0x443790 MOV -0x78(%RBP),%RDX |
0x443794 INC %RDX |
0x443797 CMP -0xd0(%RBP),%RDX |
0x44379e JGE 443c78 |
0x4437a4 MOV %RDX,-0x78(%RBP) |
0x4437a8 MOV -0x40(%RBP),%RSI |
0x4437ac MOV (%RSI,%RDX,8),%RSI |
0x4437b0 MOV -0xa8(%RBP),%RDX |
0x4437b7 MOV (%RDX,%RSI,8),%R9 |
0x4437bb MOV %RSI,%R8 |
0x4437be NOT %R8 |
0x4437c1 MOV %R8,-0x30(%RBP) |
0x4437c5 CMP 0x8(%RDX,%RSI,8),%R9 |
0x4437ca JGE 443b70 |
0x4437d0 MOV -0x118(%RBP),%RDX |
0x4437d7 MOV (%RDX),%R8 |
0x4437da MOV %R8,-0x80(%RBP) |
0x4437de JMP 443804 |
(943) 0x4437e0 MOV -0x48(%RBP),%RDI |
(943) 0x4437e4 MOV -0x88(%RBP),%R9 |
(943) 0x4437eb MOV -0x80(%RBP),%R8 |
(943) 0x4437ef INC %R9 |
(943) 0x4437f2 MOV -0xa8(%RBP),%RDX |
(943) 0x4437f9 CMP 0x8(%RDX,%RSI,8),%R9 |
(943) 0x4437fe JGE 443b70 |
(943) 0x443804 MOV -0x140(%RBP),%RDX |
(943) 0x44380b MOV (%RDX,%R9,8),%R12 |
(943) 0x44380f MOV (%R14),%RDX |
(943) 0x443812 DEC %RDX |
(943) 0x443815 CMP %RDX,(%R8,%R12,8) |
(943) 0x443819 JNE 4437ef |
(943) 0x44381b MOV %R9,-0x88(%RBP) |
(943) 0x443822 MOV -0xe8(%RBP),%RDX |
(943) 0x443829 MOV (%RDX),%RDX |
(943) 0x44382c MOV 0x8(%RDX,%R12,8),%R10 |
(943) 0x443831 TEST %R10,%R10 |
(943) 0x443834 JLE 443887 |
(943) 0x443836 MOV -0x70(%RBP),%RDX |
(943) 0x44383a MOV %R12,-0x50(%RBP) |
(943) 0x44383e MOV (%RDX,%R12,8),%RDX |
(943) 0x443842 ADD %RDX,%R10 |
(943) 0x443845 MOV (%RDI),%R9 |
(943) 0x443848 LEA 0x1(%RDX),%R8 |
(943) 0x44384c CMP %R8,%R10 |
(943) 0x44384f CMOVLE %R8,%R10 |
(943) 0x443853 MOV %R10,-0xe0(%RBP) |
(943) 0x44385a SUB %RDX,%R10 |
(943) 0x44385d CMP $0x4,%R10 |
(943) 0x443861 MOV %R10,-0x68(%RBP) |
(943) 0x443865 JAE 44393a |
(943) 0x44386b MOV -0x68(%RBP),%RDI |
(943) 0x44386f MOV %RDI,%R8 |
(943) 0x443872 AND $-0x4,%R8 |
(943) 0x443876 CMP %RDI,%R8 |
(943) 0x443879 JNE 443a2e |
(943) 0x44387f MOV -0x48(%RBP),%RDI |
(943) 0x443883 MOV -0x50(%RBP),%R12 |
(943) 0x443887 MOV -0xf0(%RBP),%RDX |
(943) 0x44388e MOV (%RDX),%RDX |
(943) 0x443891 MOV 0x8(%RDX,%R12,8),%R10 |
(943) 0x443896 TEST %R10,%R10 |
(943) 0x443899 JLE 4437e4 |
(943) 0x44389f MOV -0xd8(%RBP),%RDX |
(943) 0x4438a6 MOV (%RDX),%RDX |
(943) 0x4438a9 MOV (%RDX,%R12,8),%RDX |
(943) 0x4438ad ADD %RDX,%R10 |
(943) 0x4438b0 MOV -0x90(%RBP),%R8 |
(943) 0x4438b7 MOV (%R8),%R9 |
(943) 0x4438ba LEA 0x1(%RDX),%R8 |
(943) 0x4438be CMP %R8,%R10 |
(943) 0x4438c1 CMOVLE %R8,%R10 |
(943) 0x4438c5 MOV %R10,-0x68(%RBP) |
(943) 0x4438c9 SUB %RDX,%R10 |
(943) 0x4438cc CMP $0x4,%R10 |
(943) 0x4438d0 MOV %R10,-0x50(%RBP) |
(943) 0x4438d4 JAE 443a8a |
(943) 0x4438da MOV -0x50(%RBP),%RDI |
(943) 0x4438de MOV %RDI,%R8 |
(943) 0x4438e1 AND $-0x4,%R8 |
(943) 0x4438e5 CMP %RDI,%R8 |
(943) 0x4438e8 JE 4437e0 |
(943) 0x4438ee ADD %R8,%RDX |
(943) 0x4438f1 MOV -0x48(%RBP),%RDI |
(943) 0x4438f5 MOV -0x68(%RBP),%RBX |
(943) 0x4438f9 JMP 44390c |
(944) 0x443900 INC %RDX |
(944) 0x443903 CMP %RDX,%RBX |
(944) 0x443906 JE 4437e4 |
(944) 0x44390c MOV (%R14),%R10 |
(944) 0x44390f MOV -0x8(%R9,%R10,8),%R8 |
(944) 0x443914 MOV (%R8,%RDX,8),%R8 |
(944) 0x443918 MOV (%R15,%R8,8),%R11 |
(944) 0x44391c XOR %RSI,%R11 |
(944) 0x44391f CMP $-0x1,%R11 |
(944) 0x443923 JE 443900 |
(944) 0x443925 MOV (%R9,%R10,8),%R10 |
(944) 0x443929 MOV %R8,(%R10,%RCX,8) |
(944) 0x44392d INC %RCX |
(944) 0x443930 MOV -0x30(%RBP),%R10 |
(944) 0x443934 MOV %R10,(%R15,%R8,8) |
(944) 0x443938 JMP 443900 |
(943) 0x44393a MOV %R10,%R13 |
(943) 0x44393d SHR $0x2,%R13 |
(943) 0x443941 LEA (,%RDX,8),%R12 |
(943) 0x443949 MOV -0x58(%RBP),%RBX |
(943) 0x44394d JMP 443961 |
(947) 0x443950 MOV -0x38(%RBP),%R14 |
(947) 0x443954 ADD $0x20,%R12 |
(947) 0x443958 DEC %R13 |
(947) 0x44395b JE 44386b |
(947) 0x443961 MOV (%R14),%R10 |
(947) 0x443964 MOV -0x8(%R9,%R10,8),%R8 |
(947) 0x443969 MOV (%R8,%R12,1),%R11 |
(947) 0x44396d MOV %R14,%RDI |
(947) 0x443970 MOV %RBX,%R14 |
(947) 0x443973 MOV (%RBX,%R11,8),%RBX |
(947) 0x443977 XOR %RSI,%RBX |
(947) 0x44397a CMP $-0x1,%RBX |
(947) 0x44397e JE 44399b |
(947) 0x443980 MOV (%R9,%R10,8),%R8 |
(947) 0x443984 MOV %R11,(%R8,%RAX,8) |
(947) 0x443988 INC %RAX |
(947) 0x44398b MOV -0x30(%RBP),%R8 |
(947) 0x44398f MOV %R8,(%R14,%R11,8) |
(947) 0x443993 MOV (%RDI),%R10 |
(947) 0x443996 MOV -0x8(%R9,%R10,8),%R8 |
(947) 0x44399b MOV 0x8(%R8,%R12,1),%R11 |
(947) 0x4439a0 MOV (%R14,%R11,8),%RBX |
(947) 0x4439a4 XOR %RSI,%RBX |
(947) 0x4439a7 CMP $-0x1,%RBX |
(947) 0x4439ab JE 4439cc |
(947) 0x4439ad MOV (%R9,%R10,8),%R8 |
(947) 0x4439b1 MOV %R11,(%R8,%RAX,8) |
(947) 0x4439b5 INC %RAX |
(947) 0x4439b8 MOV -0x30(%RBP),%RDI |
(947) 0x4439bc MOV %RDI,(%R14,%R11,8) |
(947) 0x4439c0 MOV -0x38(%RBP),%RDI |
(947) 0x4439c4 MOV (%RDI),%R10 |
(947) 0x4439c7 MOV -0x8(%R9,%R10,8),%R8 |
(947) 0x4439cc MOV 0x10(%R8,%R12,1),%R11 |
(947) 0x4439d1 MOV (%R14,%R11,8),%RBX |
(947) 0x4439d5 XOR %RSI,%RBX |
(947) 0x4439d8 CMP $-0x1,%RBX |
(947) 0x4439dc JE 4439fd |
(947) 0x4439de MOV (%R9,%R10,8),%R8 |
(947) 0x4439e2 MOV %R11,(%R8,%RAX,8) |
(947) 0x4439e6 INC %RAX |
(947) 0x4439e9 MOV -0x30(%RBP),%RDI |
(947) 0x4439ed MOV %RDI,(%R14,%R11,8) |
(947) 0x4439f1 MOV -0x38(%RBP),%RDI |
(947) 0x4439f5 MOV (%RDI),%R10 |
(947) 0x4439f8 MOV -0x8(%R9,%R10,8),%R8 |
(947) 0x4439fd MOV %R14,%RBX |
(947) 0x443a00 MOV 0x18(%R8,%R12,1),%R8 |
(947) 0x443a05 MOV (%R14,%R8,8),%R11 |
(947) 0x443a09 XOR %RSI,%R11 |
(947) 0x443a0c CMP $-0x1,%R11 |
(947) 0x443a10 JE 443950 |
(947) 0x443a16 MOV (%R9,%R10,8),%R10 |
(947) 0x443a1a MOV %R8,(%R10,%RAX,8) |
(947) 0x443a1e INC %RAX |
(947) 0x443a21 MOV -0x30(%RBP),%RDI |
(947) 0x443a25 MOV %RDI,(%RBX,%R8,8) |
(947) 0x443a29 JMP 443950 |
(943) 0x443a2e ADD %R8,%RDX |
(943) 0x443a31 MOV -0x48(%RBP),%RDI |
(943) 0x443a35 MOV -0x50(%RBP),%R12 |
(943) 0x443a39 MOV -0xe0(%RBP),%R13 |
(943) 0x443a40 MOV -0x58(%RBP),%RBX |
(943) 0x443a44 JMP 443a5c |
(946) 0x443a50 INC %RDX |
(946) 0x443a53 CMP %RDX,%R13 |
(946) 0x443a56 JE 443887 |
(946) 0x443a5c MOV (%R14),%R10 |
(946) 0x443a5f MOV -0x8(%R9,%R10,8),%R8 |
(946) 0x443a64 MOV (%R8,%RDX,8),%R8 |
(946) 0x443a68 MOV (%RBX,%R8,8),%R11 |
(946) 0x443a6c XOR %RSI,%R11 |
(946) 0x443a6f CMP $-0x1,%R11 |
(946) 0x443a73 JE 443a50 |
(946) 0x443a75 MOV (%R9,%R10,8),%R10 |
(946) 0x443a79 MOV %R8,(%R10,%RAX,8) |
(946) 0x443a7d INC %RAX |
(946) 0x443a80 MOV -0x30(%RBP),%R10 |
(946) 0x443a84 MOV %R10,(%RBX,%R8,8) |
(946) 0x443a88 JMP 443a50 |
(943) 0x443a8a MOV %R10,%R12 |
(943) 0x443a8d SHR $0x2,%R12 |
(943) 0x443a91 LEA (,%RDX,8),%R13 |
(943) 0x443a99 JMP 443aad |
(945) 0x443aa0 ADD $0x20,%R13 |
(945) 0x443aa4 DEC %R12 |
(945) 0x443aa7 JE 4438da |
(945) 0x443aad MOV (%R14),%R10 |
(945) 0x443ab0 MOV -0x8(%R9,%R10,8),%R8 |
(945) 0x443ab5 MOV (%R8,%R13,1),%R11 |
(945) 0x443ab9 MOV (%R15,%R11,8),%RBX |
(945) 0x443abd XOR %RSI,%RBX |
(945) 0x443ac0 CMP $-0x1,%RBX |
(945) 0x443ac4 JE 443ae1 |
(945) 0x443ac6 MOV (%R9,%R10,8),%R8 |
(945) 0x443aca MOV %R11,(%R8,%RCX,8) |
(945) 0x443ace INC %RCX |
(945) 0x443ad1 MOV -0x30(%RBP),%RDI |
(945) 0x443ad5 MOV %RDI,(%R15,%R11,8) |
(945) 0x443ad9 MOV (%R14),%R10 |
(945) 0x443adc MOV -0x8(%R9,%R10,8),%R8 |
(945) 0x443ae1 MOV 0x8(%R8,%R13,1),%R11 |
(945) 0x443ae6 MOV (%R15,%R11,8),%RBX |
(945) 0x443aea XOR %RSI,%RBX |
(945) 0x443aed CMP $-0x1,%RBX |
(945) 0x443af1 JE 443b0e |
(945) 0x443af3 MOV (%R9,%R10,8),%R8 |
(945) 0x443af7 MOV %R11,(%R8,%RCX,8) |
(945) 0x443afb INC %RCX |
(945) 0x443afe MOV -0x30(%RBP),%RDI |
(945) 0x443b02 MOV %RDI,(%R15,%R11,8) |
(945) 0x443b06 MOV (%R14),%R10 |
(945) 0x443b09 MOV -0x8(%R9,%R10,8),%R8 |
(945) 0x443b0e MOV 0x10(%R8,%R13,1),%R11 |
(945) 0x443b13 MOV (%R15,%R11,8),%RBX |
(945) 0x443b17 XOR %RSI,%RBX |
(945) 0x443b1a CMP $-0x1,%RBX |
(945) 0x443b1e JE 443b3b |
(945) 0x443b20 MOV (%R9,%R10,8),%R8 |
(945) 0x443b24 MOV %R11,(%R8,%RCX,8) |
(945) 0x443b28 INC %RCX |
(945) 0x443b2b MOV -0x30(%RBP),%RDI |
(945) 0x443b2f MOV %RDI,(%R15,%R11,8) |
(945) 0x443b33 MOV (%R14),%R10 |
(945) 0x443b36 MOV -0x8(%R9,%R10,8),%R8 |
(945) 0x443b3b MOV 0x18(%R8,%R13,1),%R8 |
(945) 0x443b40 MOV (%R15,%R8,8),%R11 |
(945) 0x443b44 XOR %RSI,%R11 |
(945) 0x443b47 CMP $-0x1,%R11 |
(945) 0x443b4b JE 443aa0 |
(945) 0x443b51 MOV (%R9,%R10,8),%R10 |
(945) 0x443b55 MOV %R8,(%R10,%RCX,8) |
(945) 0x443b59 INC %RCX |
(945) 0x443b5c MOV -0x30(%RBP),%RDI |
(945) 0x443b60 MOV %RDI,(%R15,%R8,8) |
(945) 0x443b64 JMP 443aa0 |
0x443b70 MOV -0xa0(%RBP),%RDX |
0x443b77 MOV (%RDX,%RSI,8),%RBX |
0x443b7b MOV 0x8(%RDX,%RSI,8),%R9 |
0x443b80 JMP 443b9f |
(941) 0x443b90 MOV -0xa0(%RBP),%RDX |
(941) 0x443b97 MOV 0x8(%RDX,%RSI,8),%R9 |
(941) 0x443b9c INC %RBX |
(941) 0x443b9f CMP %R9,%RBX |
(941) 0x443ba2 JGE 443790 |
(941) 0x443ba8 MOV -0x148(%RBP),%RDX |
(941) 0x443baf MOV (%RDX,%RBX,8),%R10 |
(941) 0x443bb3 MOV (%R14),%R8 |
(941) 0x443bb6 DEC %R8 |
(941) 0x443bb9 MOV -0x138(%RBP),%RDX |
(941) 0x443bc0 CMP %R8,(%RDX,%R10,8) |
(941) 0x443bc4 JNE 443b9c |
(941) 0x443bc6 MOV -0x130(%RBP),%RDX |
(941) 0x443bcd MOV 0x8(%RDX,%R10,8),%R8 |
(941) 0x443bd2 TEST %R8,%R8 |
(941) 0x443bd5 JLE 443b9c |
(941) 0x443bd7 MOV -0x120(%RBP),%RDX |
(941) 0x443bde MOV (%RDX,%R10,8),%R9 |
(941) 0x443be2 ADD %R9,%R8 |
(941) 0x443be5 MOV -0x128(%RBP),%RDX |
(941) 0x443bec MOV (%RDX),%R10 |
(941) 0x443bef JMP 443c10 |
(942) 0x443c00 MOV -0x30(%RBP),%RDX |
(942) 0x443c04 MOV %RDX,(%R13) |
(942) 0x443c08 INC %R9 |
(942) 0x443c0b CMP %R8,%R9 |
(942) 0x443c0e JGE 443b90 |
(942) 0x443c10 MOV (%R14),%R11 |
(942) 0x443c13 MOV (%R10,%R11,8),%R12 |
(942) 0x443c17 MOV (%R12,%R9,8),%R12 |
(942) 0x443c1b TEST %R12,%R12 |
(942) 0x443c1e JS 443c50 |
(942) 0x443c20 MOV (%R15,%R12,8),%RDX |
(942) 0x443c24 XOR %RSI,%RDX |
(942) 0x443c27 CMP $-0x1,%RDX |
(942) 0x443c2b JE 443c08 |
(942) 0x443c2d LEA (%R15,%R12,8),%R13 |
(942) 0x443c31 MOV -0x90(%RBP),%RDX |
(942) 0x443c38 MOV (%RDX),%RDX |
(942) 0x443c3b MOV (%RDX,%R11,8),%RDX |
(942) 0x443c3f MOV %R12,(%RDX,%RCX,8) |
(942) 0x443c43 INC %RCX |
(942) 0x443c46 JMP 443c00 |
(942) 0x443c50 NOT %R12 |
(942) 0x443c53 MOV -0x58(%RBP),%RDX |
(942) 0x443c57 MOV (%RDX,%R12,8),%R13 |
(942) 0x443c5b XOR %RSI,%R13 |
(942) 0x443c5e CMP $-0x1,%R13 |
(942) 0x443c62 JE 443c08 |
(942) 0x443c64 LEA (%RDX,%R12,8),%R13 |
(942) 0x443c68 MOV (%RDI),%RDX |
(942) 0x443c6b MOV (%RDX,%R11,8),%RDX |
(942) 0x443c6f MOV %R12,(%RDX,%RAX,8) |
(942) 0x443c73 INC %RAX |
(942) 0x443c76 JMP 443c00 |
/scratch_na/users/xoserete/qaas_runs/171-415-3661/intel/AMG/build/AMG/AMG/parcsr_ls/par_multi_interp.c: 917 - 1124 |
-------------------------------------------------------------------------------- |
917: for (i=0; i < n_coarse; i++) |
[...] |
1072: for (i=thread_start; i < thread_stop; i++) |
1073: { |
1074: i1 = pass_array[i]; |
1075: for (j=S_diag_i[i1]; j < S_diag_i[i1+1]; j++) |
1076: { |
1077: j1 = S_diag_j[j]; |
1078: if (assigned[j1] == pass-1) |
1079: { |
1080: j_start = P_diag_start[j1]; |
1081: j_end = j_start+P_diag_i[j1+1]; |
1082: for (k=j_start; k < j_end; k++) |
1083: { |
1084: k1 = P_diag_pass[pass-1][k]; |
1085: if (P_marker[k1] != -i1-1) |
1086: { |
1087: P_diag_pass[pass][cnt_nz++] = k1; |
1088: P_marker[k1] = -i1-1; |
1089: } |
1090: } |
1091: j_start = P_offd_start[j1]; |
1092: j_end = j_start+P_offd_i[j1+1]; |
1093: for (k=j_start; k < j_end; k++) |
1094: { |
1095: k1 = P_offd_pass[pass-1][k]; |
1096: if (P_marker_offd[k1] != -i1-1) |
1097: { |
1098: P_offd_pass[pass][cnt_nz_offd++] = k1; |
1099: P_marker_offd[k1] = -i1-1; |
1100: } |
1101: } |
1102: } |
1103: } |
1104: for (j=S_offd_i[i1]; j < S_offd_i[i1+1]; j++) |
1105: { |
1106: j1 = S_offd_j[j]; |
1107: if (assigned_offd[j1] == pass-1) |
1108: { |
1109: j_start = Pext_start[j1]; |
1110: j_end = j_start+Pext_i[j1+1]; |
1111: for (k=j_start; k < j_end; k++) |
1112: { |
1113: k1 = Pext_pass[pass][k]; |
1114: if (k1 < 0) |
1115: { |
1116: if (P_marker[-k1-1] != -i1-1) |
1117: { |
1118: P_diag_pass[pass][cnt_nz++] = -k1-1; |
1119: P_marker[-k1-1] = -i1-1; |
1120: } |
1121: } |
1122: else if (P_marker_offd[k1] != -i1-1) |
1123: { |
1124: P_offd_pass[pass][cnt_nz_offd++] = k1; |
Coverage (%) | Name | Source Location | Module |
---|---|---|---|
►100.00+ | __kmp_invoke_microtask | libiomp5.so | |
○ | __kmp_invoke_task_func | libiomp5.so |
Path / |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 8.00 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.04 |
Bottlenecks | P2, P3, P11, |
Function | hypre_BoomerAMGBuildMultipass.extracted.34 |
Source | par_multi_interp.c:1072-1075,par_multi_interp.c:1078-1078,par_multi_interp.c:1099-1099,par_multi_interp.c:1104-1104 |
Source loop unroll info | NA |
Source loop unroll confidence level | NA |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 4.00 |
CQA cycles if no scalar integer | 4.00 |
CQA cycles if FP arith vectorized | 4.00 |
CQA cycles if fully vectorized | 0.50 |
Front-end cycles | 3.83 |
DIV/SQRT cycles | 1.00 |
P0 cycles | 1.00 |
P1 cycles | 4.00 |
P2 cycles | 4.00 |
P3 cycles | 1.50 |
P4 cycles | 1.00 |
P5 cycles | 1.00 |
P6 cycles | 1.50 |
P7 cycles | 1.50 |
P8 cycles | 1.50 |
P9 cycles | 1.00 |
P10 cycles | 4.00 |
P11 cycles | 0.00 |
Inter-iter dependencies cycles | NA |
FE+BE cycles (UFS) | 5.24 |
Stall cycles (UFS) | 1.24 |
Nb insns | 22.00 |
Nb uops | 22.00 |
Nb loads | 12.00 |
Nb stores | 3.00 |
Nb stack references | 8.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 | 30.00 |
Bytes prefetched | 0.00 |
Bytes loaded | 96.00 |
Bytes stored | 24.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 | 8.00 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.04 |
Bottlenecks | P2, P3, P11, |
Function | hypre_BoomerAMGBuildMultipass.extracted.34 |
Source | par_multi_interp.c:1072-1075,par_multi_interp.c:1078-1078,par_multi_interp.c:1099-1099,par_multi_interp.c:1104-1104 |
Source loop unroll info | NA |
Source loop unroll confidence level | NA |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 4.00 |
CQA cycles if no scalar integer | 4.00 |
CQA cycles if FP arith vectorized | 4.00 |
CQA cycles if fully vectorized | 0.50 |
Front-end cycles | 3.83 |
DIV/SQRT cycles | 1.00 |
P0 cycles | 1.00 |
P1 cycles | 4.00 |
P2 cycles | 4.00 |
P3 cycles | 1.50 |
P4 cycles | 1.00 |
P5 cycles | 1.00 |
P6 cycles | 1.50 |
P7 cycles | 1.50 |
P8 cycles | 1.50 |
P9 cycles | 1.00 |
P10 cycles | 4.00 |
P11 cycles | 0.00 |
Inter-iter dependencies cycles | NA |
FE+BE cycles (UFS) | 5.24 |
Stall cycles (UFS) | 1.24 |
Nb insns | 22.00 |
Nb uops | 22.00 |
Nb loads | 12.00 |
Nb stores | 3.00 |
Nb stack references | 8.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 | 30.00 |
Bytes prefetched | 0.00 |
Bytes loaded | 96.00 |
Bytes stored | 24.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_BoomerAMGBuildMultipass.extracted.34 |
Source file and lines | par_multi_interp.c:917-1124 |
Module | exec |
nb instructions | 22 |
nb uops | 22 |
loop length | 98 |
used x86 registers | 6 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 8 |
micro-operation queue | 3.83 cycles |
front end | 3.83 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 1.00 | 4.00 | 4.00 | 1.50 | 1.00 | 1.00 | 1.50 | 1.50 | 1.50 | 1.00 | 4.00 |
cycles | 1.00 | 1.00 | 4.00 | 4.00 | 1.50 | 1.00 | 1.00 | 1.50 | 1.50 | 1.50 | 1.00 | 4.00 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 5.24 |
Stall cycles | 1.24 |
LM full (events) | 3.01 |
Front-end | 3.83 |
Dispatch | 4.00 |
Overall L1 | 4.00 |
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 | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOV -0x78(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
INC %RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CMP -0xd0(%RBP),%RDX | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
JGE 443c78 <hypre_BoomerAMGBuildMultipass.extracted.34+0xf08> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %RDX,-0x78(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV -0x40(%RBP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RSI,%RDX,8),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV -0xa8(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX,%RSI,8),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RSI,%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
NOT %R8 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %R8,-0x30(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP 0x8(%RDX,%RSI,8),%R9 | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
JGE 443b70 <hypre_BoomerAMGBuildMultipass.extracted.34+0xe00> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV -0x118(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX),%R8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R8,-0x80(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JMP 443804 <hypre_BoomerAMGBuildMultipass.extracted.34+0xa94> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
MOV -0xa0(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX,%RSI,8),%RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x8(%RDX,%RSI,8),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
JMP 443b9f <hypre_BoomerAMGBuildMultipass.extracted.34+0xe2f> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
Function | hypre_BoomerAMGBuildMultipass.extracted.34 |
Source file and lines | par_multi_interp.c:917-1124 |
Module | exec |
nb instructions | 22 |
nb uops | 22 |
loop length | 98 |
used x86 registers | 6 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 8 |
micro-operation queue | 3.83 cycles |
front end | 3.83 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 1.00 | 4.00 | 4.00 | 1.50 | 1.00 | 1.00 | 1.50 | 1.50 | 1.50 | 1.00 | 4.00 |
cycles | 1.00 | 1.00 | 4.00 | 4.00 | 1.50 | 1.00 | 1.00 | 1.50 | 1.50 | 1.50 | 1.00 | 4.00 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 5.24 |
Stall cycles | 1.24 |
LM full (events) | 3.01 |
Front-end | 3.83 |
Dispatch | 4.00 |
Overall L1 | 4.00 |
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 | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOV -0x78(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
INC %RDX | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CMP -0xd0(%RBP),%RDX | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
JGE 443c78 <hypre_BoomerAMGBuildMultipass.extracted.34+0xf08> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV %RDX,-0x78(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV -0x40(%RBP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RSI,%RDX,8),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV -0xa8(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX,%RSI,8),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RSI,%R8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
NOT %R8 | 1 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0 | 1 | 0.20 |
MOV %R8,-0x30(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
CMP 0x8(%RDX,%RSI,8),%R9 | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
JGE 443b70 <hypre_BoomerAMGBuildMultipass.extracted.34+0xe00> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV -0x118(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX),%R8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R8,-0x80(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JMP 443804 <hypre_BoomerAMGBuildMultipass.extracted.34+0xa94> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
MOV -0xa0(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX,%RSI,8),%RBX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x8(%RDX,%RSI,8),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
JMP 443b9f <hypre_BoomerAMGBuildMultipass.extracted.34+0xe2f> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |