Merge pull request #44 from ROCm/fix-printing
Clean up functional tests output
[ROCm/rocshmem commit: 9885f984f6]
Tento commit je obsažen v:
@@ -82,66 +82,66 @@ std::vector<Tester*> Tester::create(TesterArguments args) {
|
|||||||
CHECK_HIP(hipGetDeviceProperties(&deviceProps, device_id));
|
CHECK_HIP(hipGetDeviceProperties(&deviceProps, device_id));
|
||||||
numWarps = (args.wg_size - 1) / deviceProps.warpSize + 1;
|
numWarps = (args.wg_size - 1) / deviceProps.warpSize + 1;
|
||||||
|
|
||||||
if (rank == 0) std::cout << "*** Creating Test: ";
|
if (rank == 0) std::cout << "### Creating Test: ";
|
||||||
|
|
||||||
TestType type = (TestType)args.algorithm;
|
TestType type = (TestType)args.algorithm;
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case InitTestType:
|
case InitTestType:
|
||||||
if (rank == 0) std::cout << "Init ***" << std::endl;
|
if (rank == 0) std::cout << "Init ###" << std::endl;
|
||||||
testers.push_back(new EmptyTester(args));
|
testers.push_back(new EmptyTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case GetTestType:
|
case GetTestType:
|
||||||
if (rank == 0) std::cout << "Blocking Gets***" << std::endl;
|
if (rank == 0) std::cout << "Blocking Gets ###" << std::endl;
|
||||||
testers.push_back(new PrimitiveTester(args));
|
testers.push_back(new PrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case GetNBITestType:
|
case GetNBITestType:
|
||||||
if (rank == 0) std::cout << "Non-Blocking Gets***" << std::endl;
|
if (rank == 0) std::cout << "Non-Blocking Gets ###" << std::endl;
|
||||||
testers.push_back(new PrimitiveTester(args));
|
testers.push_back(new PrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case PutTestType:
|
case PutTestType:
|
||||||
if (rank == 0) std::cout << "Blocking Puts***" << std::endl;
|
if (rank == 0) std::cout << "Blocking Puts ###" << std::endl;
|
||||||
testers.push_back(new PrimitiveTester(args));
|
testers.push_back(new PrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case PutNBITestType:
|
case PutNBITestType:
|
||||||
if (rank == 0) std::cout << "Non-Blocking Puts***" << std::endl;
|
if (rank == 0) std::cout << "Non-Blocking Puts ###" << std::endl;
|
||||||
testers.push_back(new PrimitiveTester(args));
|
testers.push_back(new PrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case TeamCtxInfraTestType:
|
case TeamCtxInfraTestType:
|
||||||
if (rank == 0) std::cout << "Team Ctx Infra test***" << std::endl;
|
if (rank == 0) std::cout << "Team Ctx Infra test ###" << std::endl;
|
||||||
testers.push_back(new TeamCtxInfraTester(args));
|
testers.push_back(new TeamCtxInfraTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case TeamCtxGetTestType:
|
case TeamCtxGetTestType:
|
||||||
if (rank == 0) std::cout << "Blocking Team Ctx Gets***" << std::endl;
|
if (rank == 0) std::cout << "Blocking Team Ctx Gets ###" << std::endl;
|
||||||
testers.push_back(new TeamCtxPrimitiveTester(args));
|
testers.push_back(new TeamCtxPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case TeamCtxGetNBITestType:
|
case TeamCtxGetNBITestType:
|
||||||
if (rank == 0) std::cout << "Non-Blocking Team Ctx Gets***" << std::endl;
|
if (rank == 0) std::cout << "Non-Blocking Team Ctx Gets ###" << std::endl;
|
||||||
testers.push_back(new TeamCtxPrimitiveTester(args));
|
testers.push_back(new TeamCtxPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case TeamCtxPutTestType:
|
case TeamCtxPutTestType:
|
||||||
if (rank == 0) std::cout << "Blocking Team Ctx Puts***" << std::endl;
|
if (rank == 0) std::cout << "Blocking Team Ctx Puts ###" << std::endl;
|
||||||
testers.push_back(new TeamCtxPrimitiveTester(args));
|
testers.push_back(new TeamCtxPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case TeamCtxPutNBITestType:
|
case TeamCtxPutNBITestType:
|
||||||
if (rank == 0) std::cout << "Non-Blocking Team Ctx Puts***" << std::endl;
|
if (rank == 0) std::cout << "Non-Blocking Team Ctx Puts ###" << std::endl;
|
||||||
testers.push_back(new TeamCtxPrimitiveTester(args));
|
testers.push_back(new TeamCtxPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case PTestType:
|
case PTestType:
|
||||||
if (rank == 0) std::cout << "P Test***" << std::endl;
|
if (rank == 0) std::cout << "P Test ###" << std::endl;
|
||||||
testers.push_back(new PrimitiveTester(args));
|
testers.push_back(new PrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case GTestType:
|
case GTestType:
|
||||||
if (rank == 0) std::cout << "G Test***" << std::endl;
|
if (rank == 0) std::cout << "G Test ###" << std::endl;
|
||||||
testers.push_back(new PrimitiveTester(args));
|
testers.push_back(new PrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case GetSwarmTestType:
|
case GetSwarmTestType:
|
||||||
if (rank == 0) std::cout << "Get Swarm***" << std::endl;
|
if (rank == 0) std::cout << "Get Swarm ###" << std::endl;
|
||||||
testers.push_back(new GetSwarmTester(args));
|
testers.push_back(new GetSwarmTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case TeamReductionTestType:
|
case TeamReductionTestType:
|
||||||
if (rank == 0)
|
if (rank == 0)
|
||||||
std::cout << "All-to-All Team-based Reduction***" << std::endl;
|
std::cout << "All-to-All Team-based Reduction ###" << std::endl;
|
||||||
testers.push_back(new TeamReductionTester<float, ROC_SHMEM_SUM>(
|
testers.push_back(new TeamReductionTester<float, ROC_SHMEM_SUM>(
|
||||||
args,
|
args,
|
||||||
[](float& f1, float& f2) {
|
[](float& f1, float& f2) {
|
||||||
@@ -157,7 +157,7 @@ std::vector<Tester*> Tester::create(TesterArguments args) {
|
|||||||
}));
|
}));
|
||||||
return testers;
|
return testers;
|
||||||
case ReductionTestType:
|
case ReductionTestType:
|
||||||
if (rank == 0) std::cout << "All-to-All Reduction***" << std::endl;
|
if (rank == 0) std::cout << "All-to-All Reduction ###" << std::endl;
|
||||||
|
|
||||||
testers.push_back(new ReductionTester<float, ROC_SHMEM_SUM>(
|
testers.push_back(new ReductionTester<float, ROC_SHMEM_SUM>(
|
||||||
args,
|
args,
|
||||||
@@ -245,7 +245,7 @@ std::vector<Tester*> Tester::create(TesterArguments args) {
|
|||||||
return testers;
|
return testers;
|
||||||
case BroadcastTestType:
|
case BroadcastTestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
std::cout << "Broadcast Test***" << std::endl;
|
std::cout << "Broadcast Test ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new BroadcastTester<long>(
|
testers.push_back(new BroadcastTester<long>(
|
||||||
args,
|
args,
|
||||||
@@ -282,7 +282,7 @@ std::vector<Tester*> Tester::create(TesterArguments args) {
|
|||||||
return testers;
|
return testers;
|
||||||
case TeamBroadcastTestType:
|
case TeamBroadcastTestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
std::cout << "Team Broadcast Test***" << std::endl;
|
std::cout << "Team Broadcast Test ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new TeamBroadcastTester<long>(
|
testers.push_back(new TeamBroadcastTester<long>(
|
||||||
args,
|
args,
|
||||||
@@ -319,7 +319,7 @@ std::vector<Tester*> Tester::create(TesterArguments args) {
|
|||||||
return testers;
|
return testers;
|
||||||
case AllToAllTestType:
|
case AllToAllTestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
std::cout << "Alltoall Test***" << std::endl;
|
std::cout << "Alltoall Test ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new AlltoallTester<int64_t>(
|
testers.push_back(new AlltoallTester<int64_t>(
|
||||||
args,
|
args,
|
||||||
@@ -345,7 +345,7 @@ std::vector<Tester*> Tester::create(TesterArguments args) {
|
|||||||
return testers;
|
return testers;
|
||||||
case FCollectTestType:
|
case FCollectTestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
std::cout << "Fcollect Test***" << std::endl;
|
std::cout << "Fcollect Test ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new FcollectTester<int64_t>(
|
testers.push_back(new FcollectTester<int64_t>(
|
||||||
args,
|
args,
|
||||||
@@ -365,188 +365,188 @@ std::vector<Tester*> Tester::create(TesterArguments args) {
|
|||||||
}));
|
}));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_FAddTestType:
|
case AMO_FAddTestType:
|
||||||
if (rank == 0) std::cout << "AMO Fetch_Add***" << std::endl;
|
if (rank == 0) std::cout << "AMO Fetch_Add ###" << std::endl;
|
||||||
testers.push_back(new AMOStandardTester<long long>(args));
|
testers.push_back(new AMOStandardTester<long long>(args));
|
||||||
testers.push_back(new AMOStandardTester<long>(args));
|
testers.push_back(new AMOStandardTester<long>(args));
|
||||||
testers.push_back(new AMOStandardTester<int>(args));
|
testers.push_back(new AMOStandardTester<int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_FIncTestType:
|
case AMO_FIncTestType:
|
||||||
if (rank == 0) std::cout << "AMO Fetch_Inc***" << std::endl;
|
if (rank == 0) std::cout << "AMO Fetch_Inc ###" << std::endl;
|
||||||
testers.push_back(new AMOStandardTester<long long>(args));
|
testers.push_back(new AMOStandardTester<long long>(args));
|
||||||
testers.push_back(new AMOStandardTester<long>(args));
|
testers.push_back(new AMOStandardTester<long>(args));
|
||||||
testers.push_back(new AMOStandardTester<int>(args));
|
testers.push_back(new AMOStandardTester<int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_FetchTestType:
|
case AMO_FetchTestType:
|
||||||
if (rank == 0) std::cout << "AMO Fetch***" << std::endl;
|
if (rank == 0) std::cout << "AMO Fetch ###" << std::endl;
|
||||||
testers.push_back(new AMOExtendedTester<long long>(args));
|
testers.push_back(new AMOExtendedTester<long long>(args));
|
||||||
testers.push_back(new AMOExtendedTester<long>(args));
|
testers.push_back(new AMOExtendedTester<long>(args));
|
||||||
testers.push_back(new AMOExtendedTester<int>(args));
|
testers.push_back(new AMOExtendedTester<int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_FCswapTestType:
|
case AMO_FCswapTestType:
|
||||||
if (rank == 0) std::cout << "AMO Fetch_CSWAP***" << std::endl;
|
if (rank == 0) std::cout << "AMO Fetch_CSWAP ###" << std::endl;
|
||||||
testers.push_back(new AMOStandardTester<long long>(args));
|
testers.push_back(new AMOStandardTester<long long>(args));
|
||||||
testers.push_back(new AMOStandardTester<long>(args));
|
testers.push_back(new AMOStandardTester<long>(args));
|
||||||
testers.push_back(new AMOStandardTester<int>(args));
|
testers.push_back(new AMOStandardTester<int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_AddTestType:
|
case AMO_AddTestType:
|
||||||
if (rank == 0) std::cout << "AMO Add***" << std::endl;
|
if (rank == 0) std::cout << "AMO Add ###" << std::endl;
|
||||||
testers.push_back(new AMOStandardTester<long long>(args));
|
testers.push_back(new AMOStandardTester<long long>(args));
|
||||||
testers.push_back(new AMOStandardTester<long>(args));
|
testers.push_back(new AMOStandardTester<long>(args));
|
||||||
testers.push_back(new AMOStandardTester<int>(args));
|
testers.push_back(new AMOStandardTester<int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_SetTestType:
|
case AMO_SetTestType:
|
||||||
if (rank == 0) std::cout << "AMO Set***" << std::endl;
|
if (rank == 0) std::cout << "AMO Set ###" << std::endl;
|
||||||
testers.push_back(new AMOExtendedTester<long long>(args));
|
testers.push_back(new AMOExtendedTester<long long>(args));
|
||||||
testers.push_back(new AMOExtendedTester<long>(args));
|
testers.push_back(new AMOExtendedTester<long>(args));
|
||||||
testers.push_back(new AMOExtendedTester<int>(args));
|
testers.push_back(new AMOExtendedTester<int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_SwapTestType:
|
case AMO_SwapTestType:
|
||||||
if (rank == 0) std::cout << "AMO Swap***" << std::endl;
|
if (rank == 0) std::cout << "AMO Swap ###" << std::endl;
|
||||||
testers.push_back(new AMOExtendedTester<long long>(args));
|
testers.push_back(new AMOExtendedTester<long long>(args));
|
||||||
testers.push_back(new AMOExtendedTester<long>(args));
|
testers.push_back(new AMOExtendedTester<long>(args));
|
||||||
testers.push_back(new AMOExtendedTester<int>(args));
|
testers.push_back(new AMOExtendedTester<int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_FetchAndTestType:
|
case AMO_FetchAndTestType:
|
||||||
if (rank == 0) std::cout << "AMO Fetch And***" << std::endl;
|
if (rank == 0) std::cout << "AMO Fetch And ###" << std::endl;
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_AndTestType:
|
case AMO_AndTestType:
|
||||||
if (rank == 0) std::cout << "AMO And***" << std::endl;
|
if (rank == 0) std::cout << "AMO And ###" << std::endl;
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_FetchOrTestType:
|
case AMO_FetchOrTestType:
|
||||||
if (rank == 0) std::cout << "AMO Fetch Or***" << std::endl;
|
if (rank == 0) std::cout << "AMO Fetch Or ###" << std::endl;
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_OrTestType:
|
case AMO_OrTestType:
|
||||||
if (rank == 0) std::cout << "AMO Or***" << std::endl;
|
if (rank == 0) std::cout << "AMO Or ###" << std::endl;
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_FetchXorTestType:
|
case AMO_FetchXorTestType:
|
||||||
if (rank == 0) std::cout << "AMO Fetch Xor***" << std::endl;
|
if (rank == 0) std::cout << "AMO Fetch Xor ###" << std::endl;
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_XorTestType:
|
case AMO_XorTestType:
|
||||||
if (rank == 0) std::cout << "AMO Xor***" << std::endl;
|
if (rank == 0) std::cout << "AMO Xor ###" << std::endl;
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned long>(args));
|
||||||
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
testers.push_back(new AMOBitwiseTester<unsigned int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case AMO_IncTestType:
|
case AMO_IncTestType:
|
||||||
if (rank == 0) std::cout << "AMO Inc***" << std::endl;
|
if (rank == 0) std::cout << "AMO Inc ###" << std::endl;
|
||||||
testers.push_back(new AMOStandardTester<long long>(args));
|
testers.push_back(new AMOStandardTester<long long>(args));
|
||||||
testers.push_back(new AMOStandardTester<long>(args));
|
testers.push_back(new AMOStandardTester<long>(args));
|
||||||
testers.push_back(new AMOStandardTester<int>(args));
|
testers.push_back(new AMOStandardTester<int>(args));
|
||||||
return testers;
|
return testers;
|
||||||
case PingPongTestType:
|
case PingPongTestType:
|
||||||
if (rank == 0) std::cout << "PingPong***" << std::endl;
|
if (rank == 0) std::cout << "PingPong ###" << std::endl;
|
||||||
testers.push_back(new PingPongTester(args));
|
testers.push_back(new PingPongTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case PingAllTestType:
|
case PingAllTestType:
|
||||||
if (rank == 0) std::cout << "PingAll***" << std::endl;
|
if (rank == 0) std::cout << "PingAll ###" << std::endl;
|
||||||
testers.push_back(new PingAllTester(args));
|
testers.push_back(new PingAllTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case BarrierAllTestType:
|
case BarrierAllTestType:
|
||||||
if (rank == 0) std::cout << "Barrier_All***" << std::endl;
|
if (rank == 0) std::cout << "Barrier_All ###" << std::endl;
|
||||||
testers.push_back(new BarrierAllTester(args));
|
testers.push_back(new BarrierAllTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case SyncAllTestType:
|
case SyncAllTestType:
|
||||||
if (rank == 0) std::cout << "SyncAll***" << std::endl;
|
if (rank == 0) std::cout << "SyncAll ###" << std::endl;
|
||||||
testers.push_back(new SyncTester(args));
|
testers.push_back(new SyncTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case SyncTestType:
|
case SyncTestType:
|
||||||
if (rank == 0) std::cout << "Sync***" << std::endl;
|
if (rank == 0) std::cout << "Sync ###" << std::endl;
|
||||||
testers.push_back(new SyncTester(args));
|
testers.push_back(new SyncTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case RandomAccessTestType:
|
case RandomAccessTestType:
|
||||||
if (rank == 0) std::cout << "Random_Access***" << std::endl;
|
if (rank == 0) std::cout << "Random_Access ###" << std::endl;
|
||||||
testers.push_back(new RandomAccessTester(args));
|
testers.push_back(new RandomAccessTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case ShmemPtrTestType:
|
case ShmemPtrTestType:
|
||||||
if (rank == 0) std::cout << "Shmem_Ptr***" << std::endl;
|
if (rank == 0) std::cout << "Shmem_Ptr ###" << std::endl;
|
||||||
testers.push_back(new ShmemPtrTester(args));
|
testers.push_back(new ShmemPtrTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case WGGetTestType:
|
case WGGetTestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
if (args.num_wgs > 1)
|
if (args.num_wgs > 1)
|
||||||
std::cout << "Tiled Blocking WG level Gets***" << std::endl;
|
std::cout << "Tiled Blocking WG level Gets ###" << std::endl;
|
||||||
else std::cout << "Blocking WG level Gets***" << std::endl;
|
else std::cout << "Blocking WG level Gets ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new ExtendedPrimitiveTester(args));
|
testers.push_back(new ExtendedPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case WGGetNBITestType:
|
case WGGetNBITestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
if (args.num_wgs > 1)
|
if (args.num_wgs > 1)
|
||||||
std::cout << "Tiled Non-Blocking WG level Gets***" << std::endl;
|
std::cout << "Tiled Non-Blocking WG level Gets ###" << std::endl;
|
||||||
else std::cout << "Non-Blocking WG level Gets***" << std::endl;
|
else std::cout << "Non-Blocking WG level Gets ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new ExtendedPrimitiveTester(args));
|
testers.push_back(new ExtendedPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case WGPutTestType:
|
case WGPutTestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
if (args.num_wgs > 1)
|
if (args.num_wgs > 1)
|
||||||
std::cout << "Tiled Blocking WG level Puts***" << std::endl;
|
std::cout << "Tiled Blocking WG level Puts ###" << std::endl;
|
||||||
else std::cout << "Blocking WG level Puts***" << std::endl;
|
else std::cout << "Blocking WG level Puts ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new ExtendedPrimitiveTester(args));
|
testers.push_back(new ExtendedPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case WGPutNBITestType:
|
case WGPutNBITestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
if (args.num_wgs > 1)
|
if (args.num_wgs > 1)
|
||||||
std::cout << "Tiled Non-Blocking WG level Puts***" << std::endl;
|
std::cout << "Tiled Non-Blocking WG level Puts ###" << std::endl;
|
||||||
else std::cout << "Non-Blocking WG level Puts***" << std::endl;
|
else std::cout << "Non-Blocking WG level Puts ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new ExtendedPrimitiveTester(args));
|
testers.push_back(new ExtendedPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case PutNBIMRTestType:
|
case PutNBIMRTestType:
|
||||||
if (rank == 0)
|
if (rank == 0)
|
||||||
std::cout << "Non-Blocking Put message rate***" << std::endl;
|
std::cout << "Non-Blocking Put message rate ###" << std::endl;
|
||||||
testers.push_back(new PrimitiveMRTester(args));
|
testers.push_back(new PrimitiveMRTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case WAVEGetTestType:
|
case WAVEGetTestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
if (args.num_wgs > 1 || numWarps > 1)
|
if (args.num_wgs > 1 || numWarps > 1)
|
||||||
std::cout << "Tiled Blocking WAVE level Gets***" << std::endl;
|
std::cout << "Tiled Blocking WAVE level Gets ###" << std::endl;
|
||||||
else std::cout << "Blocking WAVE level Gets***" << std::endl;
|
else std::cout << "Blocking WAVE level Gets ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new WaveLevelPrimitiveTester(args));
|
testers.push_back(new WaveLevelPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case WAVEGetNBITestType:
|
case WAVEGetNBITestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
if (args.num_wgs > 1 || numWarps > 1)
|
if (args.num_wgs > 1 || numWarps > 1)
|
||||||
std::cout << "Tiled Non-Blocking WAVE level Gets***" << std::endl;
|
std::cout << "Tiled Non-Blocking WAVE level Gets ###" << std::endl;
|
||||||
else std::cout << "Non-Blocking WAVE level Gets***" << std::endl;
|
else std::cout << "Non-Blocking WAVE level Gets ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new WaveLevelPrimitiveTester(args));
|
testers.push_back(new WaveLevelPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case WAVEPutTestType:
|
case WAVEPutTestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
if (args.num_wgs > 1 || numWarps > 1)
|
if (args.num_wgs > 1 || numWarps > 1)
|
||||||
std::cout << "Tiled Blocking WAVE level Puts***" << std::endl;
|
std::cout << "Tiled Blocking WAVE level Puts ###" << std::endl;
|
||||||
else std::cout << "Blocking WAVE level Puts***" << std::endl;
|
else std::cout << "Blocking WAVE level Puts ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new WaveLevelPrimitiveTester(args));
|
testers.push_back(new WaveLevelPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
case WAVEPutNBITestType:
|
case WAVEPutNBITestType:
|
||||||
if (rank == 0) {
|
if (rank == 0) {
|
||||||
if (args.num_wgs > 1 || numWarps > 1)
|
if (args.num_wgs > 1 || numWarps > 1)
|
||||||
std::cout << "Tiled Non-Blocking WAVE level Puts***" << std::endl;
|
std::cout << "Tiled Non-Blocking WAVE level Puts ###" << std::endl;
|
||||||
else std::cout << "Non-Blocking WAVE level Puts***" << std::endl;
|
else std::cout << "Non-Blocking WAVE level Puts ###" << std::endl;
|
||||||
}
|
}
|
||||||
testers.push_back(new WaveLevelPrimitiveTester(args));
|
testers.push_back(new WaveLevelPrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
default:
|
default:
|
||||||
if (rank == 0) std::cout << "Unknown***" << std::endl;
|
if (rank == 0) std::cout << "Unknown ###" << std::endl;
|
||||||
testers.push_back(new PrimitiveTester(args));
|
testers.push_back(new PrimitiveTester(args));
|
||||||
return testers;
|
return testers;
|
||||||
}
|
}
|
||||||
@@ -688,14 +688,20 @@ void Tester::print(uint64_t size) {
|
|||||||
int field_width = 20;
|
int field_width = 20;
|
||||||
int float_precision = 2;
|
int float_precision = 2;
|
||||||
|
|
||||||
printf("\n##### Message Size %lu #####\n", size);
|
if (_print_header) {
|
||||||
|
printf("%-*s%*s%*s%*s",
|
||||||
|
10, "# Size (B)",
|
||||||
|
field_width, "Latency (us)",
|
||||||
|
field_width, "Bandwidth (GB/s)",
|
||||||
|
field_width + 1, "Msg Rate (Msg/s)\n");
|
||||||
|
_print_header = 0;
|
||||||
|
}
|
||||||
|
|
||||||
printf("%*s%*s%*s\n", field_width + 1, "Latency AVG (us)", field_width + 1,
|
printf("%-*lu%*.*f%*.*f%*.*f\n",
|
||||||
"Bandwidth (GB/s)", field_width + 1, "Avg Message rate (Messages/s)");
|
10, size,
|
||||||
|
field_width, float_precision, latency_avg,
|
||||||
printf("%*.*f %*.*f %*.*f\n", field_width, float_precision, latency_avg,
|
field_width, float_precision, bandwidth_avg_gbs,
|
||||||
field_width, float_precision, bandwidth_avg_gbs, field_width,
|
field_width, float_precision, avg_msg_rate);
|
||||||
float_precision, avg_msg_rate);
|
|
||||||
|
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,6 +132,7 @@ class Tester {
|
|||||||
uint64_t *timer = nullptr;
|
uint64_t *timer = nullptr;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool _print_header = 1;
|
||||||
void print(uint64_t size);
|
void print(uint64_t size);
|
||||||
|
|
||||||
void barrier();
|
void barrier();
|
||||||
|
|||||||
Odkázat v novém úkolu
Zablokovat Uživatele