in astra-sim-alibabacloud/astra-sim/workload/Workload.cc [87:119]
void Workload::call(EventType event, CallData* data) {
if (counter > 0) {
if(generator->id == 0) std::cout << "counter > 0" << std::endl;
generator->try_register_event(
this, EventType::Workload_Wait, NULL, counter);
return;
}
if (parallelismPolicy == ParallelismPolicy::Data) {
iterate_data_parallel();
} else if (parallelismPolicy == ParallelismPolicy::Transformer) {
iterate_hybrid_parallel_Transformer();
} else if (
parallelismPolicy == ParallelismPolicy::DLRM ||
parallelismPolicy == ParallelismPolicy::DLRMEnhanced) {
iterate_hybrid_parallel_DLRM();
} else if (parallelismPolicy == ParallelismPolicy::MicroBenchmark) {
iterate_micro_benchmark();
} else if (parallelismPolicy == ParallelismPolicy::Model) {
iterate_model_parallel();
} else if (parallelismPolicy == ParallelismPolicy::HybridDataModel) {
iterate_hybrid_parallel_data_model();
} else if (parallelismPolicy == ParallelismPolicy::HybridModelData) {
iterate_hybrid_parallel_model_data();
} else if (parallelismPolicy == ParallelismPolicy::DistributedInference) {
iterate_distributed_inference();
} else if (parallelismPolicy == ParallelismPolicy::TransformerFwdInBckwd) {
iterate_hybrid_parallel_Transformer_fwd_in_bckwd();
} else if (parallelismPolicy == ParallelismPolicy::HybridCustomized) {
iterate_hybrid_parallel_customized();
} else {
Sys::sys_panic("No known parallelism!");
}
}