new tester: put to all pes from all lanes concurrently (#112)

* Add put to all pes from all lanes concurrently

* Remove wg_init, use size_t for size params, 64bit data exchange (more
bits for verification masking)

* Rename to flood-test, add put,putnbi,p,get,getnbi,g variants, count time
correctly

* Add flood tester to the testing script

* add to gda test case w/o the _g variant that is not implemented.
此提交包含在:
Aurelien Bouteiller
2026-01-16 10:40:48 -05:00
提交者 GitHub
父節點 6f512e92a5
當前提交 cca7872bcf
共有 7 個檔案被更改,包括 353 行新增1 行删除
+31
查看文件
@@ -62,6 +62,7 @@
#include "team_reduction_tester.hpp"
#include "wavefront_primitives.hpp"
#include "workgroup_primitives.hpp"
#include "flood_tester.hpp"
#include "backend_bc.hpp"
extern Backend* backend;
@@ -530,6 +531,30 @@ std::vector<Tester*> Tester::create(TesterArguments args) {
if (rank == 0) std::cout << "Wave Signal Fetch ###" << std::endl;
testers.push_back(new SignalingOperationsTester(args));
return testers;
case FloodPutTestType:
if (rank == 0) std::cout << "Flood Put (multidirectional) ###" << std::endl;
testers.push_back(new FloodTester(args));
return testers;
case FloodPutNBITestType:
if (rank == 0) std::cout << "Flood Non-Blocking Put (multidirectional) ###" << std::endl;
testers.push_back(new FloodTester(args));
return testers;
case FloodPTestType:
if (rank == 0) std::cout << "Flood P (multidirectional) ###" << std::endl;
testers.push_back(new FloodTester(args));
return testers;
case FloodGetTestType:
if (rank == 0) std::cout << "Flood Get (multidirectional) ###" << std::endl;
testers.push_back(new FloodTester(args));
return testers;
case FloodGetNBITestType:
if (rank == 0) std::cout << "Flood Non-Blocking Get (multidirectional) ###" << std::endl;
testers.push_back(new FloodTester(args));
return testers;
case FloodGTestType:
if (rank == 0) std::cout << "Flood G (multidirectional) ###" << std::endl;
testers.push_back(new FloodTester(args));
return testers;
default:
if (rank == 0) std::cout << "Empty Test ###" << std::endl;
return testers;
@@ -644,6 +669,12 @@ bool Tester::peLaunchesKernel() {
case PutmemOnStreamTestType:
case PutmemSignalOnStreamTestType:
case SignalWaitUntilOnStreamTestType:
case FloodPutTestType:
case FloodPutNBITestType:
case FloodPTestType:
case FloodGetTestType:
case FloodGetNBITestType:
case FloodGTestType:
is_launcher = true;
break;
default: