| 1415 | |
| 1416 | template <class T> |
| 1417 | void printMatrixHeader(T matr, size_t numBytes) { |
| 1418 | |
| 1419 | bool isDiag = ! util_isDenseMatrixType<T>(); |
| 1420 | bool isGpu = util_isGpuAcceleratedMatrix(matr); |
| 1421 | bool isDistrib = util_isDistributedMatrix(matr); |
| 1422 | int numNodes = (isDistrib)? comm_getNumNodes() : 1; |
| 1423 | |
| 1424 | // print e.g. FullStateDiagMatr (8 qubits, 256 qcomps over 4 nodes, 1056 bytes per GPU): |
| 1425 | printHeader(util_getMatrixTypeName<T>(), { |
| 1426 | getNumQubitsStr(matr.numQubits), |
| 1427 | getNumMatrixElemsStr(util_getMatrixDim(matr), isDiag, numNodes), |
| 1428 | getMemoryCostsStr(numBytes, isDistrib, isGpu)}); |
| 1429 | } |
| 1430 | |
| 1431 | void print_header(CompMatr1 m, size_t numBytes) { printMatrixHeader(m, numBytes); } |
| 1432 | void print_header(CompMatr2 m, size_t numBytes) { printMatrixHeader(m, numBytes); } |
no test coverage detected