Libmklccgdll Work Jun 2026
Let’s explore the internal mechanics. When your program calls a distributed routine (e.g., pdgemm for matrix multiplication), here is what happens:
// RCI loop while (rci_request != 0) if (rci_request == 1) // Compute A * x -> tmp (provided by solver) mkl_dcsrgemv("N", &n, A_val, A_row, A_col, tmp, tmp+n); else if (rci_request == 2) // Apply preconditioner: here Jacobi diagonal for (int i = 0; i < n; i++) tmp[n+i] = tmp[n+i] / diag[i]; libmklccgdll work