491 const std::string& markerName,
492 int launchingThreads,
500 for (
int j = 0; j < NumberOfSamples; j++) {
503 for (
int i = 0; i < patches; i++) {
504 patchData.
QIn[i] = ::tarch::allocateMemory<double>(
510 patchData.
QOut[i] = ::tarch::allocateMemory<double>(
530 watchKernelLaunch(
"::runBenchmarks",
"assessKernel(...)",
false);
531 kernel(device, patchData);
532 watchKernelLaunch.
stop();
535 if constexpr (Accuracy > 0.0) {
537 double maxDifference = 0.0;
538 for (
int i = 0; i < patches; i++) {
545 errors += errorsPerPatch;
546 maxDifference = std::max(maxDifference, maxDifferencePerPatch);
552 "Max difference of outcome from \""
553 << markerName <<
"\" for all patches is " << maxDifference
554 <<
" (admissible accuracy=" << Accuracy <<
")"
555 <<
" for " << errors <<
" entries"
561 for (
int i = 0; i < patches; i++) {
581 const int device = 0;
585 const int patchesPerProcess = numberOfPatches / numberOfRanks;
586 const int remainder = numberOfPatches % numberOfRanks;
587 const int startPatch = rank * patchesPerProcess;
588 const int endPatch = startPatch + patchesPerProcess
589 + (rank == numberOfRanks - 1 ? remainder : 0);
590 const int localPatches = endPatch - startPatch;
593 std::stringstream ss;
596 ss <<
"Kernel ID:\n\t";
597 ss <<
"Compute Kernel Time |\n\t";
598 ss <<
"Compute Kernel Time (Normalised) |\n\t";
599 ss <<
"Compute Kernel String |\n\t";
600 ss <<
"Kernel Launch Time |\n\t";
601 ss <<
"Kernel Launch Time (Normalised) |\n\t";
602 ss <<
"Kernel Launch String";
605 logInfo(
"runBenchmarks()",
"Number of patches per rank: " << localPatches);
606 logInfo(
"runBenchmarks()", ss.str());
609 std::string deviceString;
611 std::vector<int> devices(numberOfRanks);
612 MPI_Gather(&device, 1, MPI_INT, devices.data(), 1, MPI_INT, 0, MPI_COMM_WORLD);
613 for (
int i = 0; i < numberOfRanks; i++) {
614 deviceString += std::to_string(devices[i]);
615 if (i < numberOfRanks - 1) {
620 deviceString = std::to_string(device);
623 if constexpr (AssessHostKernels) {
628 "host, functors, batched, AoS, serial",
637 "host, functors, batched, AoS, nested",
646 "host, functors, batched, AoS, spread-out",
656 "host, functors, patch-wise, AoS, serial",
665 "host, functors, patch-wise, AoS, nested",
674 "host, functors, patch-wise, AoS, spread-out",
684 "host, functors, volume-wise, AoS, serial",
693 "host, functors, volume-wise, AoS, nested",
702 "host, functors, volume-wise, AoS, spread-out",
712 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
714 Acoustic::NumberOfUnknowns,
715 Acoustic::NumberOfAuxiliaryVariables,
717 EvaluateNonconservativeProduct,
719 EvaluateMaximumEigenvalueAfterTimeStep,
722 "host, stateless, batched, AoS, serial",
731 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
733 Acoustic::NumberOfUnknowns,
734 Acoustic::NumberOfAuxiliaryVariables,
736 EvaluateNonconservativeProduct,
738 EvaluateMaximumEigenvalueAfterTimeStep,
741 "host, stateless, batched, AoS, nested",
750 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
752 Acoustic::NumberOfUnknowns,
753 Acoustic::NumberOfAuxiliaryVariables,
755 EvaluateNonconservativeProduct,
757 EvaluateMaximumEigenvalueAfterTimeStep,
760 "host, stateless, batched, AoS, spread-out",
769 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
771 Acoustic::NumberOfUnknowns,
772 Acoustic::NumberOfAuxiliaryVariables,
774 EvaluateNonconservativeProduct,
776 EvaluateMaximumEigenvalueAfterTimeStep,
779 "host, stateless, batched, SoA, serial",
788 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
790 Acoustic::NumberOfUnknowns,
791 Acoustic::NumberOfAuxiliaryVariables,
793 EvaluateNonconservativeProduct,
795 EvaluateMaximumEigenvalueAfterTimeStep,
798 "host, stateless, batched, SoA, nested",
807 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
809 Acoustic::NumberOfUnknowns,
810 Acoustic::NumberOfAuxiliaryVariables,
812 EvaluateNonconservativeProduct,
814 EvaluateMaximumEigenvalueAfterTimeStep,
817 "host, stateless, batched, SoA, spread-out",
826 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
828 Acoustic::NumberOfUnknowns,
829 Acoustic::NumberOfAuxiliaryVariables,
831 EvaluateNonconservativeProduct,
833 EvaluateMaximumEigenvalueAfterTimeStep,
836 "host, stateless, batched, AoSoA, serial",
845 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
847 Acoustic::NumberOfUnknowns,
848 Acoustic::NumberOfAuxiliaryVariables,
850 EvaluateNonconservativeProduct,
852 EvaluateMaximumEigenvalueAfterTimeStep,
855 "host, stateless, batched, AoSoA, nested",
864 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
866 Acoustic::NumberOfUnknowns,
867 Acoustic::NumberOfAuxiliaryVariables,
869 EvaluateNonconservativeProduct,
871 EvaluateMaximumEigenvalueAfterTimeStep,
874 "host, stateless, batched, AoSoA, spread-out",
879 if constexpr (not Accuracy > 0.0) {
884 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
886 Acoustic::NumberOfUnknowns,
887 Acoustic::NumberOfAuxiliaryVariables,
889 EvaluateNonconservativeProduct,
891 EvaluateMaximumEigenvalueAfterTimeStep>,
893 "host, stateless, batched, insitu, serial",
904 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
906 Acoustic::NumberOfUnknowns,
907 Acoustic::NumberOfAuxiliaryVariables,
909 EvaluateNonconservativeProduct,
911 EvaluateMaximumEigenvalueAfterTimeStep,
914 "host, stateless, patch-wise, AoS, serial",
923 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
925 Acoustic::NumberOfUnknowns,
926 Acoustic::NumberOfAuxiliaryVariables,
928 EvaluateNonconservativeProduct,
930 EvaluateMaximumEigenvalueAfterTimeStep,
933 "host, stateless, patch-wise, AoS, nested",
942 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
944 Acoustic::NumberOfUnknowns,
945 Acoustic::NumberOfAuxiliaryVariables,
947 EvaluateNonconservativeProduct,
949 EvaluateMaximumEigenvalueAfterTimeStep,
952 "host, stateless, patch-wise, AoS, spread-out",
961 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
963 Acoustic::NumberOfUnknowns,
964 Acoustic::NumberOfAuxiliaryVariables,
966 EvaluateNonconservativeProduct,
968 EvaluateMaximumEigenvalueAfterTimeStep,
971 "host, stateless, patch-wise, SoA, serial",
980 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
982 Acoustic::NumberOfUnknowns,
983 Acoustic::NumberOfAuxiliaryVariables,
985 EvaluateNonconservativeProduct,
987 EvaluateMaximumEigenvalueAfterTimeStep,
990 "host, stateless, patch-wise, SoA, nested",
999 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1001 Acoustic::NumberOfUnknowns,
1002 Acoustic::NumberOfAuxiliaryVariables,
1004 EvaluateNonconservativeProduct,
1006 EvaluateMaximumEigenvalueAfterTimeStep,
1009 "host, stateless, patch-wise, SoA, spread-out",
1018 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1020 Acoustic::NumberOfUnknowns,
1021 Acoustic::NumberOfAuxiliaryVariables,
1023 EvaluateNonconservativeProduct,
1025 EvaluateMaximumEigenvalueAfterTimeStep,
1028 "host, stateless, patch-wise, AoSoA, serial",
1037 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1039 Acoustic::NumberOfUnknowns,
1040 Acoustic::NumberOfAuxiliaryVariables,
1042 EvaluateNonconservativeProduct,
1044 EvaluateMaximumEigenvalueAfterTimeStep,
1047 "host, stateless, patch-wise, AoSoA, nested",
1056 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1058 Acoustic::NumberOfUnknowns,
1059 Acoustic::NumberOfAuxiliaryVariables,
1061 EvaluateNonconservativeProduct,
1063 EvaluateMaximumEigenvalueAfterTimeStep,
1066 "host, stateless, patch-wise, AoSoA, spread-out",
1071 if constexpr (not Accuracy > 0.0) {
1076 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1078 Acoustic::NumberOfUnknowns,
1079 Acoustic::NumberOfAuxiliaryVariables,
1081 EvaluateNonconservativeProduct,
1083 EvaluateMaximumEigenvalueAfterTimeStep>,
1085 "host, stateless, patch-wise, insitu, serial",
1096 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1098 Acoustic::NumberOfUnknowns,
1099 Acoustic::NumberOfAuxiliaryVariables,
1101 EvaluateNonconservativeProduct,
1103 EvaluateMaximumEigenvalueAfterTimeStep,
1106 "host, stateless, volume-wise, AoS, serial",
1115 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1117 Acoustic::NumberOfUnknowns,
1118 Acoustic::NumberOfAuxiliaryVariables,
1120 EvaluateNonconservativeProduct,
1122 EvaluateMaximumEigenvalueAfterTimeStep,
1125 "host, stateless, volume-wise, AoS, nested",
1134 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1136 Acoustic::NumberOfUnknowns,
1137 Acoustic::NumberOfAuxiliaryVariables,
1139 EvaluateNonconservativeProduct,
1141 EvaluateMaximumEigenvalueAfterTimeStep,
1144 "host, stateless, volume-wise, AoS, spread-out",
1153 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1155 Acoustic::NumberOfUnknowns,
1156 Acoustic::NumberOfAuxiliaryVariables,
1158 EvaluateNonconservativeProduct,
1160 EvaluateMaximumEigenvalueAfterTimeStep,
1163 "host, stateless, volume-wise, SoA, serial",
1172 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1174 Acoustic::NumberOfUnknowns,
1175 Acoustic::NumberOfAuxiliaryVariables,
1177 EvaluateNonconservativeProduct,
1179 EvaluateMaximumEigenvalueAfterTimeStep,
1182 "host, stateless, volume-wise, SoA, nested",
1191 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1193 Acoustic::NumberOfUnknowns,
1194 Acoustic::NumberOfAuxiliaryVariables,
1196 EvaluateNonconservativeProduct,
1198 EvaluateMaximumEigenvalueAfterTimeStep,
1201 "host, stateless, volume-wise, SoA, spread-out",
1210 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1212 Acoustic::NumberOfUnknowns,
1213 Acoustic::NumberOfAuxiliaryVariables,
1215 EvaluateNonconservativeProduct,
1217 EvaluateMaximumEigenvalueAfterTimeStep,
1220 "host, stateless, volume-wise, AoSoA, serial",
1229 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1231 Acoustic::NumberOfUnknowns,
1232 Acoustic::NumberOfAuxiliaryVariables,
1234 EvaluateNonconservativeProduct,
1236 EvaluateMaximumEigenvalueAfterTimeStep,
1239 "host, stateless, volume-wise, AoSoA, nested",
1248 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1250 Acoustic::NumberOfUnknowns,
1251 Acoustic::NumberOfAuxiliaryVariables,
1253 EvaluateNonconservativeProduct,
1255 EvaluateMaximumEigenvalueAfterTimeStep,
1258 "host, stateless, volume-wise, AoSoA, spread-out",
1265 if constexpr (AssessDeviceKernels) {
1266#if defined(GPUOffloadingSYCL)
1271 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1273 Acoustic::NumberOfUnknowns,
1274 Acoustic::NumberOfAuxiliaryVariables,
1276 EvaluateNonconservativeProduct,
1278 EvaluateMaximumEigenvalueAfterTimeStep,
1280 "device(s) " + deviceString +
", stateless, batched, AoS, usm",
1289 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1291 Acoustic::NumberOfUnknowns,
1292 Acoustic::NumberOfAuxiliaryVariables,
1294 EvaluateNonconservativeProduct,
1296 EvaluateMaximumEigenvalueAfterTimeStep,
1298 "device(s) " + deviceString +
", stateless, batched, SoA, usm",
1307 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1309 Acoustic::NumberOfUnknowns,
1310 Acoustic::NumberOfAuxiliaryVariables,
1312 EvaluateNonconservativeProduct,
1314 EvaluateMaximumEigenvalueAfterTimeStep,
1316 "device(s) " + deviceString +
", stateless, batched, AoSoA, usm",
1326 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1328 Acoustic::NumberOfUnknowns,
1329 Acoustic::NumberOfAuxiliaryVariables,
1331 EvaluateNonconservativeProduct,
1333 EvaluateMaximumEigenvalueAfterTimeStep,
1335 "device(s) " + deviceString +
", stateless, patch-wise, AoS, usm",
1344 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1346 Acoustic::NumberOfUnknowns,
1347 Acoustic::NumberOfAuxiliaryVariables,
1349 EvaluateNonconservativeProduct,
1351 EvaluateMaximumEigenvalueAfterTimeStep,
1353 "device(s) " + deviceString +
", stateless, patch-wise, SoA, usm",
1362 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1364 Acoustic::NumberOfUnknowns,
1365 Acoustic::NumberOfAuxiliaryVariables,
1367 EvaluateNonconservativeProduct,
1369 EvaluateMaximumEigenvalueAfterTimeStep,
1371 "device(s) " + deviceString +
", stateless, patch-wise, AoSoA, usm",
1381 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1383 Acoustic::NumberOfUnknowns,
1384 Acoustic::NumberOfAuxiliaryVariables,
1386 EvaluateNonconservativeProduct,
1388 EvaluateMaximumEigenvalueAfterTimeStep,
1390 "device(s) " + deviceString +
", stateless, task-graph, AoS, usm",
1399 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1401 Acoustic::NumberOfUnknowns,
1402 Acoustic::NumberOfAuxiliaryVariables,
1404 EvaluateNonconservativeProduct,
1406 EvaluateMaximumEigenvalueAfterTimeStep,
1408 "device(s) " + deviceString +
", stateless, task-graph, SoA, usm",
1417 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1419 Acoustic::NumberOfUnknowns,
1420 Acoustic::NumberOfAuxiliaryVariables,
1422 EvaluateNonconservativeProduct,
1424 EvaluateMaximumEigenvalueAfterTimeStep,
1426 "device(s) " + deviceString +
", stateless, task-graph, AoSoA, usm",
1436 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1438 Acoustic::NumberOfUnknowns,
1439 Acoustic::NumberOfAuxiliaryVariables,
1441 EvaluateNonconservativeProduct,
1443 EvaluateMaximumEigenvalueAfterTimeStep,
1445 "device(s) " + deviceString +
", stateless, batched, AoS, copy",
1454 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1456 Acoustic::NumberOfUnknowns,
1457 Acoustic::NumberOfAuxiliaryVariables,
1459 EvaluateNonconservativeProduct,
1461 EvaluateMaximumEigenvalueAfterTimeStep,
1463 "device(s) " + deviceString +
", stateless, batched, SoA, copy",
1472 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1474 Acoustic::NumberOfUnknowns,
1475 Acoustic::NumberOfAuxiliaryVariables,
1477 EvaluateNonconservativeProduct,
1479 EvaluateMaximumEigenvalueAfterTimeStep,
1481 "device(s) " + deviceString +
", stateless, batched, AoSoA, copy",
1491 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1493 Acoustic::NumberOfUnknowns,
1494 Acoustic::NumberOfAuxiliaryVariables,
1496 EvaluateNonconservativeProduct,
1498 EvaluateMaximumEigenvalueAfterTimeStep,
1500 "device(s) " + deviceString +
", stateless, patch-wise, AoS, copy",
1509 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1511 Acoustic::NumberOfUnknowns,
1512 Acoustic::NumberOfAuxiliaryVariables,
1514 EvaluateNonconservativeProduct,
1516 EvaluateMaximumEigenvalueAfterTimeStep,
1518 "device(s) " + deviceString +
", stateless, patch-wise, SoA, copy",
1527 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1529 Acoustic::NumberOfUnknowns,
1530 Acoustic::NumberOfAuxiliaryVariables,
1532 EvaluateNonconservativeProduct,
1534 EvaluateMaximumEigenvalueAfterTimeStep,
1536 "device(s) " + deviceString +
", stateless, patch-wise, AoSoA, copy",
1546 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1548 Acoustic::NumberOfUnknowns,
1549 Acoustic::NumberOfAuxiliaryVariables,
1551 EvaluateNonconservativeProduct,
1553 EvaluateMaximumEigenvalueAfterTimeStep,
1555 "device(s) " + deviceString +
", stateless, task-graph, AoS, copy",
1564 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1566 Acoustic::NumberOfUnknowns,
1567 Acoustic::NumberOfAuxiliaryVariables,
1569 EvaluateNonconservativeProduct,
1571 EvaluateMaximumEigenvalueAfterTimeStep,
1573 "device(s) " + deviceString +
", stateless, task-graph, SoA, copy",
1582 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1584 Acoustic::NumberOfUnknowns,
1585 Acoustic::NumberOfAuxiliaryVariables,
1587 EvaluateNonconservativeProduct,
1589 EvaluateMaximumEigenvalueAfterTimeStep,
1591 "device(s) " + deviceString +
", stateless, task-graph, AoSoA, copy",
1601 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1603 Acoustic::NumberOfUnknowns,
1604 Acoustic::NumberOfAuxiliaryVariables,
1606 EvaluateNonconservativeProduct,
1608 EvaluateMaximumEigenvalueAfterTimeStep,
1610 "device(s) " + deviceString +
", stateless, batched, AoS, managed",
1619 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1621 Acoustic::NumberOfUnknowns,
1622 Acoustic::NumberOfAuxiliaryVariables,
1624 EvaluateNonconservativeProduct,
1626 EvaluateMaximumEigenvalueAfterTimeStep,
1628 "device(s) " + deviceString +
", stateless, batched, SoA, managed",
1637 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1639 Acoustic::NumberOfUnknowns,
1640 Acoustic::NumberOfAuxiliaryVariables,
1642 EvaluateNonconservativeProduct,
1644 EvaluateMaximumEigenvalueAfterTimeStep,
1646 "device(s) " + deviceString +
", stateless, batched, AoSoA, managed",
1654 ::exahype2::fv::rusanov::sycl::
1655 timeStepWithRusanovPatchwiseManagedStateless<
1657 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1659 Acoustic::NumberOfUnknowns,
1660 Acoustic::NumberOfAuxiliaryVariables,
1662 EvaluateNonconservativeProduct,
1664 EvaluateMaximumEigenvalueAfterTimeStep,
1666 "device(s) " + deviceString +
", stateless, patch-wise, AoS, managed",
1673 ::exahype2::fv::rusanov::sycl::
1674 timeStepWithRusanovPatchwiseManagedStateless<
1676 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1678 Acoustic::NumberOfUnknowns,
1679 Acoustic::NumberOfAuxiliaryVariables,
1681 EvaluateNonconservativeProduct,
1683 EvaluateMaximumEigenvalueAfterTimeStep,
1685 "device(s) " + deviceString +
", stateless, patch-wise, SoA, managed",
1692 ::exahype2::fv::rusanov::sycl::
1693 timeStepWithRusanovPatchwiseManagedStateless<
1695 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1697 Acoustic::NumberOfUnknowns,
1698 Acoustic::NumberOfAuxiliaryVariables,
1700 EvaluateNonconservativeProduct,
1702 EvaluateMaximumEigenvalueAfterTimeStep,
1704 "device(s) " + deviceString +
", stateless, patch-wise, AoSoA, managed",
1712 ::exahype2::fv::rusanov::sycl::
1713 timeStepWithRusanovTaskgraphManagedStateless<
1715 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1717 Acoustic::NumberOfUnknowns,
1718 Acoustic::NumberOfAuxiliaryVariables,
1720 EvaluateNonconservativeProduct,
1722 EvaluateMaximumEigenvalueAfterTimeStep,
1724 "device(s) " + deviceString +
", stateless, task-graph, AoS, managed",
1731 ::exahype2::fv::rusanov::sycl::
1732 timeStepWithRusanovTaskgraphManagedStateless<
1734 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1736 Acoustic::NumberOfUnknowns,
1737 Acoustic::NumberOfAuxiliaryVariables,
1739 EvaluateNonconservativeProduct,
1741 EvaluateMaximumEigenvalueAfterTimeStep,
1743 "device(s) " + deviceString +
", stateless, task-graph, SoA, managed",
1750 ::exahype2::fv::rusanov::sycl::
1751 timeStepWithRusanovTaskgraphManagedStateless<
1753 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1755 Acoustic::NumberOfUnknowns,
1756 Acoustic::NumberOfAuxiliaryVariables,
1758 EvaluateNonconservativeProduct,
1760 EvaluateMaximumEigenvalueAfterTimeStep,
1762 "device(s) " + deviceString +
", stateless, task-graph, AoSoA, managed",
1769#if defined(GPUOffloadingOMP)
1774 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1776 Acoustic::NumberOfUnknowns,
1777 Acoustic::NumberOfAuxiliaryVariables,
1779 EvaluateNonconservativeProduct,
1781 EvaluateMaximumEigenvalueAfterTimeStep,
1783 "device(s) " + deviceString +
", stateless, batched, AoS, copy",
1792 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1794 Acoustic::NumberOfUnknowns,
1795 Acoustic::NumberOfAuxiliaryVariables,
1797 EvaluateNonconservativeProduct,
1799 EvaluateMaximumEigenvalueAfterTimeStep,
1801 "device(s) " + deviceString +
", stateless, batched, SoA, copy",
1810 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1812 Acoustic::NumberOfUnknowns,
1813 Acoustic::NumberOfAuxiliaryVariables,
1815 EvaluateNonconservativeProduct,
1817 EvaluateMaximumEigenvalueAfterTimeStep,
1819 "device(s) " + deviceString +
", stateless, batched, AoSoA, copy",
1824#if defined(__NVCOMPILER_CUDA__)
1829 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1831 Acoustic::NumberOfUnknowns,
1832 Acoustic::NumberOfAuxiliaryVariables,
1834 EvaluateNonconservativeProduct,
1836 EvaluateMaximumEigenvalueAfterTimeStep,
1838 "device(s) " + deviceString +
", stateless, batched, AoS, usm",
1847 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1849 Acoustic::NumberOfUnknowns,
1850 Acoustic::NumberOfAuxiliaryVariables,
1852 EvaluateNonconservativeProduct,
1854 EvaluateMaximumEigenvalueAfterTimeStep,
1856 "device(s) " + deviceString +
", stateless, batched, SoA, usm",
1865 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1867 Acoustic::NumberOfUnknowns,
1868 Acoustic::NumberOfAuxiliaryVariables,
1870 EvaluateNonconservativeProduct,
1872 EvaluateMaximumEigenvalueAfterTimeStep,
1874 "device(s) " + deviceString +
", stateless, batched, AoSoA, usm",
1885 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1887 Acoustic::NumberOfUnknowns,
1888 Acoustic::NumberOfAuxiliaryVariables,
1890 EvaluateNonconservativeProduct,
1892 EvaluateMaximumEigenvalueAfterTimeStep,
1894 "device(s) " + deviceString +
", stateless, patch-wise, AoS, copy",
1903 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1905 Acoustic::NumberOfUnknowns,
1906 Acoustic::NumberOfAuxiliaryVariables,
1908 EvaluateNonconservativeProduct,
1910 EvaluateMaximumEigenvalueAfterTimeStep,
1912 "device(s) " + deviceString +
", stateless, patch-wise, SoA, copy",
1921 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1923 Acoustic::NumberOfUnknowns,
1924 Acoustic::NumberOfAuxiliaryVariables,
1926 EvaluateNonconservativeProduct,
1928 EvaluateMaximumEigenvalueAfterTimeStep,
1930 "device(s) " + deviceString +
", stateless, patch-wise, AoSoA, copy",
1935#if defined(__NVCOMPILER_CUDA__)
1940 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1942 Acoustic::NumberOfUnknowns,
1943 Acoustic::NumberOfAuxiliaryVariables,
1945 EvaluateNonconservativeProduct,
1947 EvaluateMaximumEigenvalueAfterTimeStep,
1949 "device(s) " + deviceString +
", stateless, patch-wise, AoS, usm",
1958 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1960 Acoustic::NumberOfUnknowns,
1961 Acoustic::NumberOfAuxiliaryVariables,
1963 EvaluateNonconservativeProduct,
1965 EvaluateMaximumEigenvalueAfterTimeStep,
1967 "device(s) " + deviceString +
", stateless, patch-wise, SoA, usm",
1976 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1978 Acoustic::NumberOfUnknowns,
1979 Acoustic::NumberOfAuxiliaryVariables,
1981 EvaluateNonconservativeProduct,
1983 EvaluateMaximumEigenvalueAfterTimeStep,
1985 "device(s) " + deviceString +
", stateless, patch-wise, AoSoA, usm",
1996 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
1998 Acoustic::NumberOfUnknowns,
1999 Acoustic::NumberOfAuxiliaryVariables,
2001 EvaluateNonconservativeProduct,
2003 EvaluateMaximumEigenvalueAfterTimeStep,
2005 "device(s) " + deviceString +
", stateless, volume-wise, AoS, copy",
2014 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
2016 Acoustic::NumberOfUnknowns,
2017 Acoustic::NumberOfAuxiliaryVariables,
2019 EvaluateNonconservativeProduct,
2021 EvaluateMaximumEigenvalueAfterTimeStep,
2023 "device(s) " + deviceString +
", stateless, volume-wise, SoA, copy",
2032 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
2034 Acoustic::NumberOfUnknowns,
2035 Acoustic::NumberOfAuxiliaryVariables,
2037 EvaluateNonconservativeProduct,
2039 EvaluateMaximumEigenvalueAfterTimeStep,
2041 "device(s) " + deviceString +
", stateless, volume-wise, AoSoA, copy",
2048#if defined(GPUOffloadingCPP)
2053 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
2055 Acoustic::NumberOfUnknowns,
2056 Acoustic::NumberOfAuxiliaryVariables,
2058 EvaluateNonconservativeProduct,
2060 EvaluateMaximumEigenvalueAfterTimeStep,
2062 "device(s) " + deviceString +
", stateless, batched, AoS, usm",
2071 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
2073 Acoustic::NumberOfUnknowns,
2074 Acoustic::NumberOfAuxiliaryVariables,
2076 EvaluateNonconservativeProduct,
2078 EvaluateMaximumEigenvalueAfterTimeStep,
2080 "device(s) " + deviceString +
", stateless, batched, SoA, usm",
2089 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
2091 Acoustic::NumberOfUnknowns,
2092 Acoustic::NumberOfAuxiliaryVariables,
2094 EvaluateNonconservativeProduct,
2096 EvaluateMaximumEigenvalueAfterTimeStep,
2098 "device(s) " + deviceString +
", stateless, batched, AoSoA, usm",
2108 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
2110 Acoustic::NumberOfUnknowns,
2111 Acoustic::NumberOfAuxiliaryVariables,
2113 EvaluateNonconservativeProduct,
2115 EvaluateMaximumEigenvalueAfterTimeStep,
2117 "device(s) " + deviceString +
", stateless, patch-wise, AoS, usm",
2126 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
2128 Acoustic::NumberOfUnknowns,
2129 Acoustic::NumberOfAuxiliaryVariables,
2131 EvaluateNonconservativeProduct,
2133 EvaluateMaximumEigenvalueAfterTimeStep,
2135 "device(s) " + deviceString +
", stateless, patch-wise, SoA, usm",
2144 Acoustic::NumberOfFiniteVolumesPerAxisPerPatch,
2146 Acoustic::NumberOfUnknowns,
2147 Acoustic::NumberOfAuxiliaryVariables,
2149 EvaluateNonconservativeProduct,
2151 EvaluateMaximumEigenvalueAfterTimeStep,
2153 "device(s) " + deviceString +
", stateless, patch-wise, AoSoA, usm",