From abb9d0a98e05387b2fecbcba3240dcccecb080e8 Mon Sep 17 00:00:00 2001 From: Elliott Slaughter Date: Tue, 8 Sep 2026 16:02:58 -0700 Subject: [PATCH] Add ability to bypass profiling entirely by making ProfilingSettings optional. --- bin/run-model/src/run-model/main.cc | 4 +-- .../computation_graph_instance.h | 9 +++--- .../local_task_argument_accessor.h | 6 ++-- .../per_device_op_state_initialization.h | 13 ++++----- .../include/local-execution/task_execution.h | 4 +-- .../computation_graph_instance.cc | 19 +++++-------- .../cost_estimator/local_cost_estimator.cc | 1 - .../local_task_argument_accessor.cc | 5 ++-- .../per_device_op_state_initialization.cc | 23 ++++++--------- .../src/local-execution/task_execution.cc | 4 +-- .../computation_graph_instance.cc | 3 -- ...buted_per_device_op_state_initialization.h | 2 -- .../include/realm-execution/pcg_instance.h | 24 +++++----------- .../realm-execution/tasks/impl/op_task.h | 2 -- .../tasks/impl/op_task_args.dtg.toml | 5 ---- .../impl/per_device_op_state_init_task.h | 2 -- ...er_device_op_state_init_task_args.dtg.toml | 4 --- .../impl/serializable_op_task_args.dtg.toml | 5 ---- ...er_device_op_state_init_task_args.dtg.toml | 5 ---- ...uted_per_device_op_state_initialization.cc | 2 -- .../src/realm-execution/pcg_instance.cc | 26 +++-------------- .../src/realm-execution/tasks/impl/op_task.cc | 4 +-- .../impl/per_device_op_state_init_task.cc | 3 -- .../tasks/impl/serializable_op_task_args.cc | 2 -- ...able_per_device_op_state_init_task_args.cc | 2 -- .../test/src/realm-execution/test_e2e.cc | 8 ------ lib/task-spec/include/task-spec/profiling.h | 28 +++++++++++-------- .../itask_argument_accessor.h | 2 +- .../task_argument_accessor.h | 2 +- lib/task-spec/src/task-spec/loss_functions.cc | 2 +- .../src/task-spec/ops/impl/attention.cc | 4 +-- .../src/task-spec/ops/impl/batch_matmul.cc | 4 +-- .../src/task-spec/ops/impl/batch_norm.cc | 6 ++-- lib/task-spec/src/task-spec/ops/impl/cast.cc | 4 +-- .../src/task-spec/ops/impl/concat.cc | 4 +-- .../src/task-spec/ops/impl/conv_2d.cc | 4 +-- .../src/task-spec/ops/impl/dropout.cc | 4 +-- .../src/task-spec/ops/impl/element_binary.cc | 4 +-- .../src/task-spec/ops/impl/element_unary.cc | 4 +-- .../src/task-spec/ops/impl/embedding.cc | 4 +-- lib/task-spec/src/task-spec/ops/impl/flat.cc | 4 +-- .../src/task-spec/ops/impl/gather.cc | 4 +-- .../src/task-spec/ops/impl/layer_norm.cc | 4 +-- .../src/task-spec/ops/impl/linear.cc | 4 +-- .../src/task-spec/ops/impl/pool_2d.cc | 4 +-- .../src/task-spec/ops/impl/reduce.cc | 4 +-- .../src/task-spec/ops/impl/reshape.cc | 4 +-- .../src/task-spec/ops/impl/reverse.cc | 4 +-- .../src/task-spec/ops/impl/softmax.cc | 4 +-- lib/task-spec/src/task-spec/ops/impl/split.cc | 4 +-- lib/task-spec/src/task-spec/ops/impl/topk.cc | 4 +-- .../src/task-spec/ops/impl/transpose.cc | 4 +-- .../src/task-spec/ops/impl/upsample.cc | 4 +-- lib/task-spec/src/task-spec/optimizer.cc | 4 +-- .../task_argument_accessor.cc | 3 +- 55 files changed, 118 insertions(+), 204 deletions(-) diff --git a/bin/run-model/src/run-model/main.cc b/bin/run-model/src/run-model/main.cc index 1f53a77ed5..c2aa71f254 100644 --- a/bin/run-model/src/run-model/main.cc +++ b/bin/run-model/src/run-model/main.cc @@ -101,7 +101,7 @@ int main(int argc, char **argv) { /*optimizer=*/optimizer_attrs, /*loss=*/std::nullopt, /*input_tensors=*/input_tensors, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, + /*profiling_settings=*/std::nullopt, /*device_handle=*/device_handle, /*device_type=*/DeviceType::GPU); @@ -110,7 +110,7 @@ int main(int argc, char **argv) { for (int i = 0; i < num_epochs; i++) { perform_all_passes_for_pcg_instance( /*instance=*/pcg_instance, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, + /*profiling_settings=*/std::nullopt, /*device_handle=*/device_handle); } }); diff --git a/lib/local-execution/include/local-execution/computation_graph_instance.h b/lib/local-execution/include/local-execution/computation_graph_instance.h index 997d37426e..db82936dd1 100644 --- a/lib/local-execution/include/local-execution/computation_graph_instance.h +++ b/lib/local-execution/include/local-execution/computation_graph_instance.h @@ -46,31 +46,30 @@ ComputationGraphInstance create_computation_graph_instance( std::optional const &loss, std::map const &input_tensors, Allocator &allocator, - ProfilingSettings const &profiling_settings, device_handle_t const &device_handle, global_device_id_t global_device_id); std::map> perform_all_passes_for_computation_graph_instance( ComputationGraphInstance &instance, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, global_device_id_t global_device_id); std::map> perform_forward_pass_for_computation_graph_instance( ComputationGraphInstance const &instance, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, global_device_id_t global_device_id); std::map> perform_backward_pass_for_computation_graph_instance( ComputationGraphInstance const &instance, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, global_device_id_t global_device_id); void perform_update_pass_for_computation_graph_instance( ComputationGraphInstance &instance, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, global_device_id_t global_device_id); diff --git a/lib/local-execution/include/local-execution/local_task_argument_accessor.h b/lib/local-execution/include/local-execution/local_task_argument_accessor.h index d0fc3cb38e..6b18036ae1 100644 --- a/lib/local-execution/include/local-execution/local_task_argument_accessor.h +++ b/lib/local-execution/include/local-execution/local_task_argument_accessor.h @@ -15,7 +15,7 @@ struct LocalTaskArgumentAccessor : public ITaskArgumentAccessor { Allocator const &allocator, std::map const &tensor_slots_backing, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, std::optional const &op_attrs, std::optional const &loss_attrs, @@ -31,7 +31,7 @@ struct LocalTaskArgumentAccessor : public ITaskArgumentAccessor { GenericTensorAccessor get_tensor(TaskTensorParameter slot, Permissions priv) const override; - ProfilingSettings get_profiling_settings() const override; + std::optional get_profiling_settings() const override; device_handle_t get_ff_handle() const override; DeviceType get_kernel_device_type() const override; PCGOperatorAttrs get_op_attrs() const override; @@ -47,7 +47,7 @@ struct LocalTaskArgumentAccessor : public ITaskArgumentAccessor { Allocator allocator; std::map tensor_slots_backing; - ProfilingSettings profiling_settings; + std::optional profiling_settings; device_handle_t ff_handle; DeviceType kernel_device_type; std::optional op_attrs; diff --git a/lib/local-execution/include/local-execution/per_device_op_state_initialization.h b/lib/local-execution/include/local-execution/per_device_op_state_initialization.h index 4c546992e4..aa407b7cdd 100644 --- a/lib/local-execution/include/local-execution/per_device_op_state_initialization.h +++ b/lib/local-execution/include/local-execution/per_device_op_state_initialization.h @@ -12,13 +12,11 @@ namespace FlexFlow { bool no_nodes_are_initialized(DynamicOpenDataflowGraph const &g); -DynamicNodeInvocation - initialize_node(DynamicNodeInvocation const &i, - Allocator &allocator, - ProfilingSettings const &profiling_settings, - device_handle_t const &device_handle, - OptimizerAttrs const &optimizer_attrs, - global_device_id_t device_idx); +DynamicNodeInvocation initialize_node(DynamicNodeInvocation const &i, + Allocator &allocator, + device_handle_t const &device_handle, + OptimizerAttrs const &optimizer_attrs, + global_device_id_t device_idx); /** * @brief Initialize all operators and save the per-device op state @@ -26,7 +24,6 @@ DynamicNodeInvocation DynamicOpenDataflowGraph perform_per_device_op_state_initialization( DynamicOpenDataflowGraph const &, Allocator &allocator, - ProfilingSettings const &profiling_settings, device_handle_t const &device_handle, OptimizerAttrs const &optimizer_attrs, global_device_id_t device_idx); diff --git a/lib/local-execution/include/local-execution/task_execution.h b/lib/local-execution/include/local-execution/task_execution.h index 83f69a96e3..755abdeb24 100644 --- a/lib/local-execution/include/local-execution/task_execution.h +++ b/lib/local-execution/include/local-execution/task_execution.h @@ -12,7 +12,7 @@ namespace FlexFlow { TaskArgumentAccessor make_task_argument_accessor_for_invocation( DynamicNodeInvocation const &invocation, Allocator &allocator, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, std::optional const &per_device_op_state, std::optional const &optimizer_attrs, @@ -21,7 +21,7 @@ TaskArgumentAccessor make_task_argument_accessor_for_invocation( std::optional execute_dynamic_node_invocation( DynamicNodeInvocation const &invocation, Allocator &allocator, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, std::optional const &per_device_op_state, std::optional const &optimizer_attrs, diff --git a/lib/local-execution/src/local-execution/computation_graph_instance.cc b/lib/local-execution/src/local-execution/computation_graph_instance.cc index 2882199cf7..4407bd6333 100644 --- a/lib/local-execution/src/local-execution/computation_graph_instance.cc +++ b/lib/local-execution/src/local-execution/computation_graph_instance.cc @@ -64,7 +64,6 @@ ComputationGraphInstance create_computation_graph_instance( std::optional const &loss, std::map const &input_tensors, Allocator &allocator, - ProfilingSettings const &profiling_settings, device_handle_t const &device_handle, global_device_id_t device_idx) { DynamicOpenDataflowGraph dg = make_dynamic_open_dataflow_graph_from_cg(cg); @@ -89,12 +88,8 @@ ComputationGraphInstance create_computation_graph_instance( return get_loss_tensor_accessor(dg, lgv); }); - dg = perform_per_device_op_state_initialization(dg, - allocator, - profiling_settings, - device_handle, - optimizer_attrs, - device_idx); + dg = perform_per_device_op_state_initialization( + dg, allocator, device_handle, optimizer_attrs, device_idx); // Compute the topological ordering of the graph auto [kwarg_graph, node_map] = @@ -112,7 +107,7 @@ static std::map> std::vector const &invocations, Allocator &allocator, OptimizerAttrs const &optimizer_attrs, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, global_device_id_t device_idx) { return map_from_pairs( @@ -137,7 +132,7 @@ static std::map> std::map> perform_all_passes_for_computation_graph_instance( ComputationGraphInstance &instance, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, global_device_id_t device_idx) { std::vector execution_order = @@ -157,7 +152,7 @@ std::map> std::map> perform_forward_pass_for_computation_graph_instance( ComputationGraphInstance const &instance, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, global_device_id_t device_idx) { std::vector execution_order = @@ -180,7 +175,7 @@ std::map> std::map> perform_backward_pass_for_computation_graph_instance( ComputationGraphInstance const &instance, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, global_device_id_t device_idx) { std::vector execution_order = @@ -202,7 +197,7 @@ std::map> void perform_update_pass_for_computation_graph_instance( ComputationGraphInstance &instance, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, global_device_id_t device_idx) { std::vector execution_order = diff --git a/lib/local-execution/src/local-execution/cost_estimator/local_cost_estimator.cc b/lib/local-execution/src/local-execution/cost_estimator/local_cost_estimator.cc index 42df950a5c..307833f79f 100644 --- a/lib/local-execution/src/local-execution/cost_estimator/local_cost_estimator.cc +++ b/lib/local-execution/src/local-execution/cost_estimator/local_cost_estimator.cc @@ -122,7 +122,6 @@ OpCostMetrics LocalCostEstimator::estimate_cost( /*loss=*/std::nullopt, /*input_tensors=*/{}, /*allocator=*/allocator, - /*profiling_settings=*/this->profiling_settings, /*device_handle=*/this->device_handle, /*device_idx=*/this->device_idx); diff --git a/lib/local-execution/src/local-execution/local_task_argument_accessor.cc b/lib/local-execution/src/local-execution/local_task_argument_accessor.cc index 1f2a681ba5..798f95c940 100644 --- a/lib/local-execution/src/local-execution/local_task_argument_accessor.cc +++ b/lib/local-execution/src/local-execution/local_task_argument_accessor.cc @@ -10,7 +10,7 @@ LocalTaskArgumentAccessor::LocalTaskArgumentAccessor( Allocator const &allocator, std::map const &tensor_slots_backing, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, std::optional const &op_attrs, std::optional const &loss_attrs, @@ -73,7 +73,8 @@ GenericTensorAccessor } } -ProfilingSettings LocalTaskArgumentAccessor::get_profiling_settings() const { +std::optional + LocalTaskArgumentAccessor::get_profiling_settings() const { return this->profiling_settings; } diff --git a/lib/local-execution/src/local-execution/per_device_op_state_initialization.cc b/lib/local-execution/src/local-execution/per_device_op_state_initialization.cc index 571e3dd1c1..cc2e446f67 100644 --- a/lib/local-execution/src/local-execution/per_device_op_state_initialization.cc +++ b/lib/local-execution/src/local-execution/per_device_op_state_initialization.cc @@ -18,13 +18,11 @@ bool no_nodes_are_initialized(DynamicOpenDataflowGraph const &g) { })); } -DynamicNodeInvocation - initialize_node(DynamicNodeInvocation const &i, - Allocator &allocator, - ProfilingSettings const &profiling_settings, - device_handle_t const &device_handle, - OptimizerAttrs const &optimizer_attrs, - global_device_id_t device_idx) { +DynamicNodeInvocation initialize_node(DynamicNodeInvocation const &i, + Allocator &allocator, + device_handle_t const &device_handle, + OptimizerAttrs const &optimizer_attrs, + global_device_id_t device_idx) { if (!i.node_attrs.op_attrs.has_value() || !i.node_attrs.op_attrs.value().is_pcg_op()) { return i; @@ -40,7 +38,7 @@ DynamicNodeInvocation make_task_argument_accessor_for_invocation( /*invocation=*/i, /*allocator=*/allocator, - /*profiling_settings=*/profiling_settings, + /*profiling_settings=*/std::nullopt, /*ff_handle=*/device_handle, /*per_device_op_state=*/std::nullopt, /*optimizer_attrs=*/optimizer_attrs, @@ -58,7 +56,6 @@ DynamicNodeInvocation DynamicOpenDataflowGraph perform_per_device_op_state_initialization( DynamicOpenDataflowGraph const &dg, Allocator &allocator, - ProfilingSettings const &profiling_settings, device_handle_t const &device_handle, OptimizerAttrs const &optimizer_attrs, global_device_id_t device_idx) { @@ -66,12 +63,8 @@ DynamicOpenDataflowGraph perform_per_device_op_state_initialization( ASSERT(no_nodes_are_initialized(dg)); DynamicOpenDataflowGraph result = transform_dynamic_invocation_set( dg, [&](DynamicNodeInvocation const &invocation) { - return initialize_node(invocation, - allocator, - profiling_settings, - device_handle, - optimizer_attrs, - device_idx); + return initialize_node( + invocation, allocator, device_handle, optimizer_attrs, device_idx); }); return result; diff --git a/lib/local-execution/src/local-execution/task_execution.cc b/lib/local-execution/src/local-execution/task_execution.cc index 8cca67da43..3dc9385754 100644 --- a/lib/local-execution/src/local-execution/task_execution.cc +++ b/lib/local-execution/src/local-execution/task_execution.cc @@ -45,7 +45,7 @@ TaskTensorParameter make_task_tensor_parameter_from_dynamic_slot( TaskArgumentAccessor make_task_argument_accessor_for_invocation( DynamicNodeInvocation const &invocation, Allocator &allocator, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, std::optional const &per_device_op_state, std::optional const &optimizer_attrs, @@ -84,7 +84,7 @@ TaskArgumentAccessor make_task_argument_accessor_for_invocation( std::optional execute_dynamic_node_invocation( DynamicNodeInvocation const &invocation, Allocator &allocator, - ProfilingSettings const &profiling_settings, + std::optional const &profiling_settings, device_handle_t const &ff_handle, std::optional const &per_device_op_state, std::optional const &optimizer_attrs, diff --git a/lib/local-execution/test/src/local-execution/computation_graph_instance.cc b/lib/local-execution/test/src/local-execution/computation_graph_instance.cc index 112db9db4d..bd62f1e96b 100644 --- a/lib/local-execution/test/src/local-execution/computation_graph_instance.cc +++ b/lib/local-execution/test/src/local-execution/computation_graph_instance.cc @@ -161,7 +161,6 @@ TEST_SUITE(FF_TEST_SUITE) { }, /*input_tensors=*/input_tensors, /*allocator=*/allocator, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/ff_handle, /*global_device_id=*/global_device_id); @@ -335,7 +334,6 @@ TEST_SUITE(FF_CUDA_TEST_SUITE) { }, /*input_tensors=*/input_tensors, /*allocator=*/allocator, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/ff_handle, /*device_idx=*/device_idx); @@ -459,7 +457,6 @@ TEST_SUITE(FF_CUDA_TEST_SUITE) { }, /*input_tensors=*/input_tensors, /*allocator=*/allocator, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/ff_handle, /*device_idx=*/device_idx); diff --git a/lib/realm-execution/include/realm-execution/distributed_per_device_op_state_initialization.h b/lib/realm-execution/include/realm-execution/distributed_per_device_op_state_initialization.h index 5d52f8caaf..d02c70e2d7 100644 --- a/lib/realm-execution/include/realm-execution/distributed_per_device_op_state_initialization.h +++ b/lib/realm-execution/include/realm-execution/distributed_per_device_op_state_initialization.h @@ -1,7 +1,6 @@ #ifndef _FLEXFLOW_LIB_REALM_EXECUTION_INCLUDE_REALM_EXECUTION_DISTRIBUTED_PER_DEVICE_OP_STATE_INITIALIZATION_H #define _FLEXFLOW_LIB_REALM_EXECUTION_INCLUDE_REALM_EXECUTION_DISTRIBUTED_PER_DEVICE_OP_STATE_INITIALIZATION_H -#include "kernels/profiling_settings.dtg.h" #include "pcg/optimizer_attrs.dtg.h" #include "realm-execution/distributed_ff_handle.h" #include "realm-execution/per_device_op_state_backing.dtg.h" @@ -22,7 +21,6 @@ PerDeviceOpStateBacking perform_distributed_per_device_op_state_initialization( RealmContext &ctx, DynamicOpenDataflowGraph const &dg, TensorInstanceBacking const &tensor_instance_backing, - ProfilingSettings const &profiling_settings, DistributedFfHandle const &device_handle, OptimizerAttrs const &optimizer_attrs, Realm::Event precondition); diff --git a/lib/realm-execution/include/realm-execution/pcg_instance.h b/lib/realm-execution/include/realm-execution/pcg_instance.h index 76509af2fd..4953d3e5e2 100644 --- a/lib/realm-execution/include/realm-execution/pcg_instance.h +++ b/lib/realm-execution/include/realm-execution/pcg_instance.h @@ -3,7 +3,6 @@ #include "kernels/allocation.h" #include "kernels/device_handle_t.dtg.h" -#include "kernels/profiling_settings.dtg.h" #include "pcg/mapped_parallel_computation_graph/mapped_parallel_computation_graph.dtg.h" #include "pcg/optimizer_attrs.dtg.h" #include "realm-execution/distributed_ff_handle.h" @@ -84,7 +83,6 @@ PCGInstance create_pcg_instance( OptimizerAttrs const &optimizer_attrs, std::optional const &loss, std::map const &input_tensors, - ProfilingSettings const &profiling_settings, DistributedFfHandle const &ff_handle, DeviceType device_type); @@ -100,28 +98,20 @@ PCGInstance create_pcg_instance( * \relates PCGInstance */ std::map - perform_all_passes_for_pcg_instance( - PCGInstance &pcg_instance, - ProfilingSettings const &profiling_settings, - DistributedFfHandle const &ff_handle); + perform_all_passes_for_pcg_instance(PCGInstance &pcg_instance, + DistributedFfHandle const &ff_handle); std::map - perform_forward_pass_for_pcg_instance( - PCGInstance &pcg_instance, - ProfilingSettings const &profiling_settings, - DistributedFfHandle const &ff_handle); + perform_forward_pass_for_pcg_instance(PCGInstance &pcg_instance, + DistributedFfHandle const &ff_handle); std::map perform_backward_pass_for_pcg_instance( - PCGInstance &pcg_instance, - ProfilingSettings const &profiling_settings, - DistributedFfHandle const &ff_handle); + PCGInstance &pcg_instance, DistributedFfHandle const &ff_handle); std::map - perform_update_pass_for_pcg_instance( - PCGInstance &pcg_instance, - ProfilingSettings const &profiling_settings, - DistributedFfHandle const &ff_handle); + perform_update_pass_for_pcg_instance(PCGInstance &pcg_instance, + DistributedFfHandle const &ff_handle); } // namespace FlexFlow diff --git a/lib/realm-execution/include/realm-execution/tasks/impl/op_task.h b/lib/realm-execution/include/realm-execution/tasks/impl/op_task.h index b5acd8e582..1345ee38aa 100644 --- a/lib/realm-execution/include/realm-execution/tasks/impl/op_task.h +++ b/lib/realm-execution/include/realm-execution/tasks/impl/op_task.h @@ -1,7 +1,6 @@ #ifndef _FLEXFLOW_LIB_REALM_EXECUTION_INCLUDE_REALM_EXECUTION_TASKS_IMPL_OP_TASK_H #define _FLEXFLOW_LIB_REALM_EXECUTION_INCLUDE_REALM_EXECUTION_TASKS_IMPL_OP_TASK_H -#include "kernels/profiling_settings.dtg.h" #include "op-attrs/ops/loss_functions/loss_attrs.dtg.h" #include "pcg/optimizer_attrs.dtg.h" #include "realm-execution/device_specific_managed_per_device_ff_handle.h" @@ -57,7 +56,6 @@ Realm::Event spawn_op_task( DynamicNodeInvocation const &invocation, TensorInstanceBacking const &tensor_backing, std::optional> const &device_state, - ProfilingSettings const &profiling_settings, DeviceSpecificPtr const &device_handle, std::optional const &optimizer_attrs, Realm::Event precondition); diff --git a/lib/realm-execution/include/realm-execution/tasks/impl/op_task_args.dtg.toml b/lib/realm-execution/include/realm-execution/tasks/impl/op_task_args.dtg.toml index bfc705ba04..752d186f09 100644 --- a/lib/realm-execution/include/realm-execution/tasks/impl/op_task_args.dtg.toml +++ b/lib/realm-execution/include/realm-execution/tasks/impl/op_task_args.dtg.toml @@ -4,7 +4,6 @@ type = "struct" features = [] includes = [ - "kernels/profiling_settings.dtg.h", "pcg/optimizer_attrs.dtg.h", "realm-execution/device_specific_managed_per_device_ff_handle.h", "realm-execution/device_specific_ptr.h", @@ -25,10 +24,6 @@ type = "::FlexFlow::TensorInstanceBacking" name = "device_state" type = "std::optional<::FlexFlow::DeviceSpecificPtr<::FlexFlow::PerDeviceOpState>>" -[[fields]] -name = "profiling_settings" -type = "::FlexFlow::ProfilingSettings" - [[fields]] name = "device_handle" type = "::FlexFlow::DeviceSpecificPtr<::FlexFlow::ManagedPerDeviceFFHandle>" diff --git a/lib/realm-execution/include/realm-execution/tasks/impl/per_device_op_state_init_task.h b/lib/realm-execution/include/realm-execution/tasks/impl/per_device_op_state_init_task.h index 8fd7aafbfa..fb08220c76 100644 --- a/lib/realm-execution/include/realm-execution/tasks/impl/per_device_op_state_init_task.h +++ b/lib/realm-execution/include/realm-execution/tasks/impl/per_device_op_state_init_task.h @@ -1,7 +1,6 @@ #ifndef _FLEXFLOW_LIB_REALM_EXECUTION_INCLUDE_REALM_EXECUTION_TASKS_IMPL_PER_DEVICE_OP_STATE_INIT_TASK_H #define _FLEXFLOW_LIB_REALM_EXECUTION_INCLUDE_REALM_EXECUTION_TASKS_IMPL_PER_DEVICE_OP_STATE_INIT_TASK_H -#include "kernels/profiling_settings.dtg.h" #include "pcg/optimizer_attrs.dtg.h" #include "realm-execution/device_specific_managed_per_device_ff_handle.h" #include "realm-execution/device_specific_ptr.h" @@ -36,7 +35,6 @@ std::optional spawn_per_device_op_state_init_task( Realm::Processor target_proc, DynamicNodeInvocation const &invocation, TensorInstanceBacking const &tensor_backing, - ProfilingSettings const &profiling_settings, DeviceSpecificPtr const &device_handle, OptimizerAttrs const &optimizer_attrs, DeviceSpecificPtr *result_ptr, diff --git a/lib/realm-execution/include/realm-execution/tasks/impl/per_device_op_state_init_task_args.dtg.toml b/lib/realm-execution/include/realm-execution/tasks/impl/per_device_op_state_init_task_args.dtg.toml index a84c5d60b0..d4f3223f5f 100644 --- a/lib/realm-execution/include/realm-execution/tasks/impl/per_device_op_state_init_task_args.dtg.toml +++ b/lib/realm-execution/include/realm-execution/tasks/impl/per_device_op_state_init_task_args.dtg.toml @@ -29,10 +29,6 @@ type = "::FlexFlow::DynamicNodeInvocation" name = "tensor_backing" type = "TensorInstanceBacking" -[[fields]] -name = "profiling_settings" -type = "::FlexFlow::ProfilingSettings" - [[fields]] name = "device_handle" type = "::FlexFlow::DeviceSpecificPtr<::FlexFlow::ManagedPerDeviceFFHandle>" diff --git a/lib/realm-execution/include/realm-execution/tasks/impl/serializable_op_task_args.dtg.toml b/lib/realm-execution/include/realm-execution/tasks/impl/serializable_op_task_args.dtg.toml index d189323d48..ba2f7efd81 100644 --- a/lib/realm-execution/include/realm-execution/tasks/impl/serializable_op_task_args.dtg.toml +++ b/lib/realm-execution/include/realm-execution/tasks/impl/serializable_op_task_args.dtg.toml @@ -9,7 +9,6 @@ features = [ ] includes = [ - "kernels/profiling_settings.dtg.h", "pcg/optimizer_attrs.dtg.h", "realm-execution/tasks/serializer/serializable_device_specific_ptr.dtg.h", "realm-execution/tasks/serializer/serializable_tensor_instance_backing.dtg.h", @@ -33,10 +32,6 @@ type = "::FlexFlow::SerializableTensorInstanceBacking" name = "device_state" type = "std::optional<::FlexFlow::SerializableDeviceSpecificPtr>" -[[fields]] -name = "profiling_settings" -type = "::FlexFlow::ProfilingSettings" - [[fields]] name = "device_handle" type = "::FlexFlow::SerializableDeviceSpecificPtr" diff --git a/lib/realm-execution/include/realm-execution/tasks/impl/serializable_per_device_op_state_init_task_args.dtg.toml b/lib/realm-execution/include/realm-execution/tasks/impl/serializable_per_device_op_state_init_task_args.dtg.toml index 7a6a48d0b6..df8fa93ada 100644 --- a/lib/realm-execution/include/realm-execution/tasks/impl/serializable_per_device_op_state_init_task_args.dtg.toml +++ b/lib/realm-execution/include/realm-execution/tasks/impl/serializable_per_device_op_state_init_task_args.dtg.toml @@ -9,7 +9,6 @@ features = [ ] includes = [ - "kernels/profiling_settings.dtg.h", "pcg/optimizer_attrs.dtg.h", "realm-execution/tasks/serializer/serializable_device_specific_ptr.dtg.h", "realm-execution/tasks/serializer/serializable_realm_processor.dtg.h", @@ -26,10 +25,6 @@ type = "::FlexFlow::SerializableDynamicNodeInvocation" name = "tensor_backing" type = "::FlexFlow::SerializableTensorInstanceBacking" -[[fields]] -name = "profiling_settings" -type = "::FlexFlow::ProfilingSettings" - [[fields]] name = "device_handle" type = "::FlexFlow::SerializableDeviceSpecificPtr" diff --git a/lib/realm-execution/src/realm-execution/distributed_per_device_op_state_initialization.cc b/lib/realm-execution/src/realm-execution/distributed_per_device_op_state_initialization.cc index 27d7ea85e8..ff803bba59 100644 --- a/lib/realm-execution/src/realm-execution/distributed_per_device_op_state_initialization.cc +++ b/lib/realm-execution/src/realm-execution/distributed_per_device_op_state_initialization.cc @@ -20,7 +20,6 @@ PerDeviceOpStateBacking perform_distributed_per_device_op_state_initialization( RealmContext &ctx, DynamicOpenDataflowGraph const &dg, TensorInstanceBacking const &tensor_instance_backing, - ProfilingSettings const &profiling_settings, DistributedFfHandle const &device_handle, OptimizerAttrs const &optimizer_attrs, Realm::Event precondition) { @@ -55,7 +54,6 @@ PerDeviceOpStateBacking perform_distributed_per_device_op_state_initialization( target_proc, invocation, tensor_backing, - profiling_settings, device_handle.at(target_proc), optimizer_attrs, device_state_ptr, diff --git a/lib/realm-execution/src/realm-execution/pcg_instance.cc b/lib/realm-execution/src/realm-execution/pcg_instance.cc index 1d102f8cca..e72c2b2cbf 100644 --- a/lib/realm-execution/src/realm-execution/pcg_instance.cc +++ b/lib/realm-execution/src/realm-execution/pcg_instance.cc @@ -86,7 +86,6 @@ PCGInstance create_pcg_instance( OptimizerAttrs const &optimizer_attrs, std::optional const &loss, std::map const &input_tensors, - ProfilingSettings const &profiling_settings, DistributedFfHandle const &device_handle, DeviceType device_type) { @@ -151,7 +150,6 @@ PCGInstance create_pcg_instance( ctx, dg, tensor_instance_backing, - profiling_settings, device_handle, optimizer_attrs, ctx.get_outstanding_events()); @@ -268,7 +266,6 @@ static Realm::Event spawn_dynamic_node_invocation( TensorInstanceBacking const &tensor_instance_backing, PerDeviceOpStateBacking const &device_state_backing, OptimizerAttrs const &optimizer_attrs, - ProfilingSettings const &profiling_settings, DistributedFfHandle const &device_handle) { Realm::Event precondition = Realm::Event::merge_events( Realm::Event::merge_events(input_dependencies), @@ -286,7 +283,6 @@ static Realm::Event spawn_dynamic_node_invocation( invocation, tensor_backing, try_at(device_state_backing.backing, invocation), - profiling_settings, device_handle.at(target_proc), optimizer_attrs, precondition); @@ -351,7 +347,6 @@ static std::map TensorInstanceBacking const &tensor_instance_backing, PerDeviceOpStateBacking const &device_state_backing, OptimizerAttrs const &optimizer_attrs, - ProfilingSettings const &profiling_settings, DistributedFfHandle const &device_handle) { // For simplicity we'll track a dependency on all outstanding operations up to // this point. This will create an effective barrier between phases. @@ -377,7 +372,6 @@ static std::map tensor_instance_backing, device_state_backing, optimizer_attrs, - profiling_settings, device_handle); for (DynamicValueAttrs const &value : values(invocation.inputs)) { @@ -392,9 +386,7 @@ static std::map std::map perform_all_passes_for_pcg_instance( - PCGInstance &pcg_instance, - ProfilingSettings const &profiling_settings, - DistributedFfHandle const &device_handle) { + PCGInstance &pcg_instance, DistributedFfHandle const &device_handle) { std::vector execution_order = pcg_instance.get_execution_order(); std::map result = @@ -405,7 +397,6 @@ std::map pcg_instance.get_tensor_instance_backing(), /*device_state_backing=*/pcg_instance.get_device_state_backing(), /*optimizer_attrs=*/pcg_instance.get_optimizer_attrs(), - /*profiling_settings=*/profiling_settings, /*device_handle=*/device_handle); pcg_instance.update_optimizer_attrs_for_next_iter(); return result; @@ -413,9 +404,7 @@ std::map std::map perform_forward_pass_for_pcg_instance( - PCGInstance &pcg_instance, - ProfilingSettings const &profiling_settings, - DistributedFfHandle const &device_handle) { + PCGInstance &pcg_instance, DistributedFfHandle const &device_handle) { std::vector execution_order = filter(pcg_instance.get_execution_order(), [](DynamicNodeInvocation const &invocation) { @@ -430,15 +419,12 @@ std::map /*tensor_instance_backing=*/pcg_instance.get_tensor_instance_backing(), /*device_state_backing=*/pcg_instance.get_device_state_backing(), /*optimizer_attrs=*/pcg_instance.get_optimizer_attrs(), - /*profiling_settings=*/profiling_settings, /*device_handle=*/device_handle); } std::map perform_backward_pass_for_pcg_instance( - PCGInstance &pcg_instance, - ProfilingSettings const &profiling_settings, - DistributedFfHandle const &device_handle) { + PCGInstance &pcg_instance, DistributedFfHandle const &device_handle) { std::vector execution_order = filter(pcg_instance.get_execution_order(), [](DynamicNodeInvocation const &invocation) { @@ -453,15 +439,12 @@ std::map /*tensor_instance_backing=*/pcg_instance.get_tensor_instance_backing(), /*device_state_backing=*/pcg_instance.get_device_state_backing(), /*optimizer_attrs=*/pcg_instance.get_optimizer_attrs(), - /*profiling_settings=*/profiling_settings, /*device_handle=*/device_handle); } std::map perform_update_pass_for_pcg_instance( - PCGInstance &pcg_instance, - ProfilingSettings const &profiling_settings, - DistributedFfHandle const &device_handle) { + PCGInstance &pcg_instance, DistributedFfHandle const &device_handle) { std::vector execution_order = filter(pcg_instance.get_execution_order(), [](DynamicNodeInvocation const &invocation) { @@ -478,7 +461,6 @@ std::map pcg_instance.get_tensor_instance_backing(), /*device_state_backing=*/pcg_instance.get_device_state_backing(), /*optimizer_attrs=*/pcg_instance.get_optimizer_attrs(), - /*profiling_settings=*/profiling_settings, /*device_handle=*/device_handle); pcg_instance.update_optimizer_attrs_for_next_iter(); return result; diff --git a/lib/realm-execution/src/realm-execution/tasks/impl/op_task.cc b/lib/realm-execution/src/realm-execution/tasks/impl/op_task.cc index 9026caba96..5a14f7d1a7 100644 --- a/lib/realm-execution/src/realm-execution/tasks/impl/op_task.cc +++ b/lib/realm-execution/src/realm-execution/tasks/impl/op_task.cc @@ -48,7 +48,7 @@ void op_task_body(void const *args, execute_dynamic_node_invocation( /*invocation=*/invocation, /*allocator=*/ctx.get_current_device_allocator(), - /*profiling_settings=*/task_args.profiling_settings, + /*profiling_settings=*/std::nullopt, /*ff_handle=*/device_handle, /*per_device_op_state=*/ transform(and_then(task_args.device_state, @@ -66,7 +66,6 @@ Realm::Event spawn_op_task( DynamicNodeInvocation const &invocation, TensorInstanceBacking const &tensor_backing, std::optional> const &device_state, - ProfilingSettings const &profiling_settings, DeviceSpecificPtr const &device_handle, std::optional const &optimizer_attrs, Realm::Event precondition) { @@ -75,7 +74,6 @@ Realm::Event spawn_op_task( invocation, tensor_backing, device_state, - profiling_settings, device_handle, optimizer_attrs, }; diff --git a/lib/realm-execution/src/realm-execution/tasks/impl/per_device_op_state_init_task.cc b/lib/realm-execution/src/realm-execution/tasks/impl/per_device_op_state_init_task.cc index 3466890d26..1bd41753ce 100644 --- a/lib/realm-execution/src/realm-execution/tasks/impl/per_device_op_state_init_task.cc +++ b/lib/realm-execution/src/realm-execution/tasks/impl/per_device_op_state_init_task.cc @@ -52,7 +52,6 @@ void per_device_op_state_init_task_body(void const *args, DynamicNodeInvocation result_invocation = initialize_node(invocation, ctx.get_current_device_allocator(), - task_args.profiling_settings, device_handle, task_args.optimizer_attrs, ctx.get_current_global_device_id()); @@ -77,7 +76,6 @@ std::optional spawn_per_device_op_state_init_task( Realm::Processor target_proc, DynamicNodeInvocation const &invocation, TensorInstanceBacking const &tensor_backing, - ProfilingSettings const &profiling_settings, DeviceSpecificPtr const &device_handle, OptimizerAttrs const &optimizer_attrs, DeviceSpecificPtr *result_ptr, @@ -85,7 +83,6 @@ std::optional spawn_per_device_op_state_init_task( PerDeviceOpStateInitTaskArgs task_args{ invocation, tensor_backing, - profiling_settings, device_handle, optimizer_attrs, ctx.get_current_processor(), diff --git a/lib/realm-execution/src/realm-execution/tasks/impl/serializable_op_task_args.cc b/lib/realm-execution/src/realm-execution/tasks/impl/serializable_op_task_args.cc index a4adff1261..c2a04567af 100644 --- a/lib/realm-execution/src/realm-execution/tasks/impl/serializable_op_task_args.cc +++ b/lib/realm-execution/src/realm-execution/tasks/impl/serializable_op_task_args.cc @@ -14,7 +14,6 @@ SerializableOpTaskArgs op_task_args_to_serializable(OpTaskArgs const &args) { /*device_state=*/ transform(args.device_state, device_specific_ptr_to_serializable), - /*profiling_settings=*/args.profiling_settings, /*device_handle=*/device_specific_ptr_to_serializable(args.device_handle), /*optimizer_attrs=*/args.optimizer_attrs, }; @@ -28,7 +27,6 @@ OpTaskArgs op_task_args_from_serializable(SerializableOpTaskArgs const &args) { /*device_state=*/ transform(args.device_state, device_specific_ptr_from_serializable), - /*profiling_settings=*/args.profiling_settings, /*device_handle=*/ device_specific_ptr_from_serializable( args.device_handle), diff --git a/lib/realm-execution/src/realm-execution/tasks/impl/serializable_per_device_op_state_init_task_args.cc b/lib/realm-execution/src/realm-execution/tasks/impl/serializable_per_device_op_state_init_task_args.cc index 9e719eeb6e..58114b8869 100644 --- a/lib/realm-execution/src/realm-execution/tasks/impl/serializable_per_device_op_state_init_task_args.cc +++ b/lib/realm-execution/src/realm-execution/tasks/impl/serializable_per_device_op_state_init_task_args.cc @@ -13,7 +13,6 @@ SerializablePerDeviceOpStateInitTaskArgs /*invocation=*/dynamic_node_invocation_to_serializable(args.invocation), /*tensor_backing*/ tensor_instance_backing_to_serializable(args.tensor_backing), - /*profiling_settings=*/args.profiling_settings, /*device_handle=*/device_specific_ptr_to_serializable(args.device_handle), /*optimizer_attrs=*/args.optimizer_attrs, /*origin_proc=*/realm_processor_to_serializable(args.origin_proc), @@ -28,7 +27,6 @@ PerDeviceOpStateInitTaskArgs /*invocation=*/dynamic_node_invocation_from_serializable(args.invocation), /*tensor_backing*/ tensor_instance_backing_from_serializable(args.tensor_backing), - /*profiling_settings=*/args.profiling_settings, /*device_handle=*/ device_specific_ptr_from_serializable( args.device_handle), diff --git a/lib/realm-execution/test/src/realm-execution/test_e2e.cc b/lib/realm-execution/test/src/realm-execution/test_e2e.cc index 1eaf268703..934080fb0a 100644 --- a/lib/realm-execution/test/src/realm-execution/test_e2e.cc +++ b/lib/realm-execution/test/src/realm-execution/test_e2e.cc @@ -449,7 +449,6 @@ TEST_SUITE(FF_TEST_SUITE) { /*loss_mapping=*/cfg.loss_mapping, }, /*input_tensors=*/input_tensors, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/device_handle, /*device_type=*/DeviceType::CPU); @@ -460,7 +459,6 @@ TEST_SUITE(FF_TEST_SUITE) { for (int i = 0; i < num_epochs; i++) { perform_all_passes_for_pcg_instance( /*instance=*/pcg_instance, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/device_handle); loss_values.push_back(copy_tensor_accessor_r( dynamic_tensor_accessor_from_instance( @@ -522,7 +520,6 @@ TEST_SUITE(FF_TEST_SUITE) { /*optimizer=*/optimizer_attrs, /*loss=*/std::nullopt, /*input_tensors=*/input_tensors, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/device_handle, /*device_type=*/DeviceType::CPU); @@ -531,7 +528,6 @@ TEST_SUITE(FF_TEST_SUITE) { for (int i = 0; i < num_epochs; i++) { perform_all_passes_for_pcg_instance( /*instance=*/pcg_instance, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/device_handle); } }); @@ -579,7 +575,6 @@ TEST_SUITE(FF_CUDA_TEST_SUITE) { /*loss_mapping=*/cfg.loss_mapping, }, /*input_tensors=*/input_tensors, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/device_handle, /*device_type=*/DeviceType::GPU); @@ -590,7 +585,6 @@ TEST_SUITE(FF_CUDA_TEST_SUITE) { for (int i = 0; i < num_epochs; i++) { perform_all_passes_for_pcg_instance( /*instance=*/pcg_instance, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/device_handle); loss_values.push_back(copy_tensor_accessor_r( @@ -657,7 +651,6 @@ TEST_SUITE(FF_CUDA_TEST_SUITE) { /*optimizer=*/optimizer_attrs, /*loss=*/std::nullopt, /*input_tensors=*/input_tensors, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/device_handle, /*device_type=*/DeviceType::GPU); @@ -666,7 +659,6 @@ TEST_SUITE(FF_CUDA_TEST_SUITE) { for (int i = 0; i < num_epochs; i++) { perform_all_passes_for_pcg_instance( /*instance=*/pcg_instance, - /*profiling_settings=*/ProfilingSettings{0_n, 1_p}, /*device_handle=*/device_handle); } }); diff --git a/lib/task-spec/include/task-spec/profiling.h b/lib/task-spec/include/task-spec/profiling.h index 760d23240d..567f9f6055 100644 --- a/lib/task-spec/include/task-spec/profiling.h +++ b/lib/task-spec/include/task-spec/profiling.h @@ -2,24 +2,28 @@ #define _FLEXFLOW_LIB_TASK_SPEC_INCLUDE_TASK_SPEC_PROFILING_H #include "kernels/profiling.h" +#include "utils/optional.h" #include namespace FlexFlow { -enum class EnableProfiling { YES, NO }; - template -std::optional profile(F const &f, - ProfilingSettings profiling, - DeviceType device_type, - Str s, - Ts &&...ts) { - std::optional elapsed = profiling_wrapper( - f, profiling, device_type, std::forward(ts)...); - if (elapsed.has_value()) { - spdlog::debug(s, elapsed.value()); +std::optional + profile(F const &f, + std::optional const &profiling, + DeviceType device_type, + Str s, + Ts &&...ts) { + if (!profiling.has_value()) { + f(get_stream_for_device_type(device_type), std::forward(ts)...); + return std::nullopt; + } else { + ProfilingSettings settings = assert_unwrap(profiling); + milliseconds_t elapsed = profiling_wrapper( + f, profiling.value(), device_type, std::forward(ts)...); + spdlog::debug(s, elapsed); + return elapsed; } - return elapsed; } } // namespace FlexFlow diff --git a/lib/task-spec/include/task-spec/task_argument_accessor/itask_argument_accessor.h b/lib/task-spec/include/task-spec/task_argument_accessor/itask_argument_accessor.h index 776157e644..f44ddfd986 100644 --- a/lib/task-spec/include/task-spec/task_argument_accessor/itask_argument_accessor.h +++ b/lib/task-spec/include/task-spec/task_argument_accessor/itask_argument_accessor.h @@ -28,7 +28,7 @@ struct ITaskArgumentAccessor { virtual GenericTensorAccessor get_tensor(TaskTensorParameter, Permissions priv) const = 0; - virtual ProfilingSettings get_profiling_settings() const = 0; + virtual std::optional get_profiling_settings() const = 0; virtual device_handle_t get_ff_handle() const = 0; virtual DeviceType get_kernel_device_type() const = 0; virtual PCGOperatorAttrs get_op_attrs() const = 0; diff --git a/lib/task-spec/include/task-spec/task_argument_accessor/task_argument_accessor.h b/lib/task-spec/include/task-spec/task_argument_accessor/task_argument_accessor.h index 9ad56bf69d..10aa0b59b8 100644 --- a/lib/task-spec/include/task-spec/task_argument_accessor/task_argument_accessor.h +++ b/lib/task-spec/include/task-spec/task_argument_accessor/task_argument_accessor.h @@ -16,7 +16,7 @@ namespace FlexFlow { struct TaskArgumentAccessor { - ProfilingSettings get_profiling_settings() const; + std::optional get_profiling_settings() const; device_handle_t get_ff_handle() const; DeviceType get_kernel_device_type() const; PCGOperatorAttrs get_op_attrs() const; diff --git a/lib/task-spec/src/task-spec/loss_functions.cc b/lib/task-spec/src/task-spec/loss_functions.cc index 53db6b9cc4..4c6d050255 100644 --- a/lib/task-spec/src/task-spec/loss_functions.cc +++ b/lib/task-spec/src/task-spec/loss_functions.cc @@ -23,7 +23,7 @@ namespace FlexFlow { static void backward_task_impl(TaskArgumentAccessor const &acc) { LossAttrs attrs = acc.get_loss_attrs(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto logit_grad = acc.get_tensor_grad(TensorSlotName::LOGIT); diff --git a/lib/task-spec/src/task-spec/ops/impl/attention.cc b/lib/task-spec/src/task-spec/ops/impl/attention.cc index 1f1c0a507a..49a8a84a44 100644 --- a/lib/task-spec/src/task-spec/ops/impl/attention.cc +++ b/lib/task-spec/src/task-spec/ops/impl/attention.cc @@ -89,7 +89,7 @@ static std::optional auto weight = acc.get_tensor(TensorSlotName::WEIGHT); auto output = acc.get_tensor(TensorSlotName::OUTPUT); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); std::optional per_device_state = acc.get_per_device_op_state().require_mha(); @@ -121,7 +121,7 @@ static std::optional auto key_grad = acc.get_tensor_grad(TensorSlotName::KEY); auto value_grad = acc.get_tensor_grad(TensorSlotName::VALUE); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); std::optional per_device_state = acc.get_per_device_op_state().require_mha(); diff --git a/lib/task-spec/src/task-spec/ops/impl/batch_matmul.cc b/lib/task-spec/src/task-spec/ops/impl/batch_matmul.cc index 3445465ebd..6427ceaf22 100644 --- a/lib/task-spec/src/task-spec/ops/impl/batch_matmul.cc +++ b/lib/task-spec/src/task-spec/ops/impl/batch_matmul.cc @@ -7,7 +7,7 @@ namespace FlexFlow { static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto lhs_input = acc.get_tensor(TensorSlotName::LHS_INPUT); auto rhs_input = acc.get_tensor(TensorSlotName::RHS_INPUT); @@ -24,7 +24,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto lhs_input = acc.get_tensor(TensorSlotName::LHS_INPUT); diff --git a/lib/task-spec/src/task-spec/ops/impl/batch_norm.cc b/lib/task-spec/src/task-spec/ops/impl/batch_norm.cc index e622f0bc4c..5fb89f3eb9 100644 --- a/lib/task-spec/src/task-spec/ops/impl/batch_norm.cc +++ b/lib/task-spec/src/task-spec/ops/impl/batch_norm.cc @@ -25,7 +25,7 @@ static DeviceSpecificPerDeviceOpState init_task_impl(TaskArgumentAccessor const &acc) { Allocator allocator = acc.get_allocator(); device_handle_t handle = acc.get_ff_handle(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto output = acc.get_tensor(TensorSlotName::OUTPUT); @@ -58,7 +58,7 @@ static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { auto per_device_state = acc.get_per_device_op_state().require_batch_norm().value(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input = acc.get_tensor(TensorSlotName::INPUT); @@ -81,7 +81,7 @@ static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { BatchNormPerDeviceState per_device_state = acc.get_per_device_op_state().require_batch_norm().value(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input = acc.get_tensor(TensorSlotName::INPUT); diff --git a/lib/task-spec/src/task-spec/ops/impl/cast.cc b/lib/task-spec/src/task-spec/ops/impl/cast.cc index fbde3b7a25..ba961ce0af 100644 --- a/lib/task-spec/src/task-spec/ops/impl/cast.cc +++ b/lib/task-spec/src/task-spec/ops/impl/cast.cc @@ -24,7 +24,7 @@ namespace FlexFlow { static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); CastAttrs attrs = acc.get_op_attrs().require_cast(); @@ -41,7 +41,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); CastAttrs attrs = acc.get_op_attrs().require_cast(); diff --git a/lib/task-spec/src/task-spec/ops/impl/concat.cc b/lib/task-spec/src/task-spec/ops/impl/concat.cc index 39f9806226..f104f8169e 100644 --- a/lib/task-spec/src/task-spec/ops/impl/concat.cc +++ b/lib/task-spec/src/task-spec/ops/impl/concat.cc @@ -33,7 +33,7 @@ static std::vector get_input_slots(ConcatAttrs const &attrs) { static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); ConcatAttrs attrs = acc.get_op_attrs().require_concat(); @@ -60,7 +60,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); ConcatAttrs attrs = acc.get_op_attrs().require_concat(); diff --git a/lib/task-spec/src/task-spec/ops/impl/conv_2d.cc b/lib/task-spec/src/task-spec/ops/impl/conv_2d.cc index 28fe73c3fc..828260c542 100644 --- a/lib/task-spec/src/task-spec/ops/impl/conv_2d.cc +++ b/lib/task-spec/src/task-spec/ops/impl/conv_2d.cc @@ -41,7 +41,7 @@ static DeviceSpecificPerDeviceOpState static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); Conv2DPerDeviceState per_device_state = acc.get_per_device_op_state().require_conv2d().value(); @@ -66,7 +66,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); Conv2DPerDeviceState per_device_state = acc.get_per_device_op_state().require_conv2d().value(); diff --git a/lib/task-spec/src/task-spec/ops/impl/dropout.cc b/lib/task-spec/src/task-spec/ops/impl/dropout.cc index 016e7cde75..3c708395fb 100644 --- a/lib/task-spec/src/task-spec/ops/impl/dropout.cc +++ b/lib/task-spec/src/task-spec/ops/impl/dropout.cc @@ -33,7 +33,7 @@ static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { DropoutPerDeviceState per_device_state = acc.get_per_device_op_state().require_dropout().value(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input = acc.get_tensor(TensorSlotName::INPUT); @@ -53,7 +53,7 @@ static std::optional DropoutPerDeviceState per_device_state = acc.get_per_device_op_state().require_dropout().value(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input_grad = acc.get_tensor_grad(TensorSlotName::INPUT); diff --git a/lib/task-spec/src/task-spec/ops/impl/element_binary.cc b/lib/task-spec/src/task-spec/ops/impl/element_binary.cc index ad38eb3b5d..77488b6dc5 100644 --- a/lib/task-spec/src/task-spec/ops/impl/element_binary.cc +++ b/lib/task-spec/src/task-spec/ops/impl/element_binary.cc @@ -28,7 +28,7 @@ static DeviceSpecificPerDeviceOpState static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); std::optional per_device_state = acc.get_per_device_op_state().require_element_binary(); @@ -56,7 +56,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); std::optional per_device_state = acc.get_per_device_op_state().require_element_binary(); diff --git a/lib/task-spec/src/task-spec/ops/impl/element_unary.cc b/lib/task-spec/src/task-spec/ops/impl/element_unary.cc index d721f5c41d..a370cec621 100644 --- a/lib/task-spec/src/task-spec/ops/impl/element_unary.cc +++ b/lib/task-spec/src/task-spec/ops/impl/element_unary.cc @@ -34,7 +34,7 @@ static std::optional device_handle_t handle = acc.get_ff_handle(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); std::optional per_device_state = acc.get_per_device_op_state().require_element_unary(); @@ -64,7 +64,7 @@ static std::optional ElementUnaryAttrs attrs = acc.get_op_attrs().require_element_unary(); device_handle_t handle = acc.get_ff_handle(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); std::optional per_device_state = acc.get_per_device_op_state().require_element_unary(); diff --git a/lib/task-spec/src/task-spec/ops/impl/embedding.cc b/lib/task-spec/src/task-spec/ops/impl/embedding.cc index dfc55d020a..b3ae9ba642 100644 --- a/lib/task-spec/src/task-spec/ops/impl/embedding.cc +++ b/lib/task-spec/src/task-spec/ops/impl/embedding.cc @@ -12,7 +12,7 @@ static std::optional auto weight = acc.get_tensor(TensorSlotName::WEIGHT); auto output = acc.get_tensor(TensorSlotName::OUTPUT); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); EmbeddingAttrs attrs = acc.get_op_attrs().require_embedding(); DeviceType kernel_device_type = acc.get_kernel_device_type(); @@ -39,7 +39,7 @@ static std::optional auto weight_grad = acc.get_tensor_grad(TensorSlotName::WEIGHT); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); EmbeddingAttrs attrs = acc.get_op_attrs().require_embedding(); DeviceType kernel_device_type = acc.get_kernel_device_type(); diff --git a/lib/task-spec/src/task-spec/ops/impl/flat.cc b/lib/task-spec/src/task-spec/ops/impl/flat.cc index 321f7720b7..0e26e15389 100644 --- a/lib/task-spec/src/task-spec/ops/impl/flat.cc +++ b/lib/task-spec/src/task-spec/ops/impl/flat.cc @@ -8,7 +8,7 @@ using namespace FlexFlow::Kernels::Flat; static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input = acc.get_tensor(TensorSlotName::INPUT); auto output = acc.get_tensor(TensorSlotName::OUTPUT); @@ -23,7 +23,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input = acc.get_tensor(TensorSlotName::INPUT); diff --git a/lib/task-spec/src/task-spec/ops/impl/gather.cc b/lib/task-spec/src/task-spec/ops/impl/gather.cc index 10e31c03ac..932de08360 100644 --- a/lib/task-spec/src/task-spec/ops/impl/gather.cc +++ b/lib/task-spec/src/task-spec/ops/impl/gather.cc @@ -54,7 +54,7 @@ static DeviceSpecificPerDeviceOpState static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); GatherPerDeviceState per_device_state = acc.get_per_device_op_state().require_gather().value(); @@ -75,7 +75,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); GatherPerDeviceState per_device_state = acc.get_per_device_op_state().require_gather().value(); diff --git a/lib/task-spec/src/task-spec/ops/impl/layer_norm.cc b/lib/task-spec/src/task-spec/ops/impl/layer_norm.cc index 04b408d0a9..b7b25e686e 100644 --- a/lib/task-spec/src/task-spec/ops/impl/layer_norm.cc +++ b/lib/task-spec/src/task-spec/ops/impl/layer_norm.cc @@ -36,7 +36,7 @@ static std::optional auto gamma = acc.get_tensor(TensorSlotName::GAMMA); auto beta = acc.get_tensor(TensorSlotName::BETA); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); LayerNormPerDeviceState state = acc.get_per_device_op_state().require_layer_norm().value(); @@ -63,7 +63,7 @@ static std::optional auto output_grad = acc.get_tensor_grad(TensorSlotName::OUTPUT); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); LayerNormPerDeviceState state = acc.get_per_device_op_state().require_layer_norm().value(); diff --git a/lib/task-spec/src/task-spec/ops/impl/linear.cc b/lib/task-spec/src/task-spec/ops/impl/linear.cc index 5985db64f7..0bd1bd4bea 100644 --- a/lib/task-spec/src/task-spec/ops/impl/linear.cc +++ b/lib/task-spec/src/task-spec/ops/impl/linear.cc @@ -46,7 +46,7 @@ static std::optional LinearAttrs attrs = acc.get_op_attrs().require_linear(); DeviceType kernel_device_type = acc.get_kernel_device_type(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); std::optional per_device_state = acc.get_per_device_op_state().require_linear(); @@ -83,7 +83,7 @@ static std::optional LinearAttrs attrs = acc.get_op_attrs().require_linear(); DeviceType kernel_device_type = acc.get_kernel_device_type(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); std::optional per_device_state = acc.get_per_device_op_state().require_linear(); diff --git a/lib/task-spec/src/task-spec/ops/impl/pool_2d.cc b/lib/task-spec/src/task-spec/ops/impl/pool_2d.cc index ba2d984115..d6c9cab3c6 100644 --- a/lib/task-spec/src/task-spec/ops/impl/pool_2d.cc +++ b/lib/task-spec/src/task-spec/ops/impl/pool_2d.cc @@ -68,7 +68,7 @@ static DeviceSpecificPerDeviceOpState static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); Pool2DPerDeviceState state = acc.get_per_device_op_state().require_pool_2d().value(); @@ -87,7 +87,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); Pool2DPerDeviceState state = acc.get_per_device_op_state().require_pool_2d().value(); diff --git a/lib/task-spec/src/task-spec/ops/impl/reduce.cc b/lib/task-spec/src/task-spec/ops/impl/reduce.cc index 45034114a2..ba53ea338e 100644 --- a/lib/task-spec/src/task-spec/ops/impl/reduce.cc +++ b/lib/task-spec/src/task-spec/ops/impl/reduce.cc @@ -39,7 +39,7 @@ static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { ReducePerDeviceState per_device_state = acc.get_per_device_op_state().require_reduce().value(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input = acc.get_tensor(TensorSlotName::INPUT); @@ -58,7 +58,7 @@ static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { ReducePerDeviceState per_device_state = acc.get_per_device_op_state().require_reduce().value(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input_grad = acc.get_tensor_grad(TensorSlotName::INPUT); diff --git a/lib/task-spec/src/task-spec/ops/impl/reshape.cc b/lib/task-spec/src/task-spec/ops/impl/reshape.cc index 98470004c2..d0e343f504 100644 --- a/lib/task-spec/src/task-spec/ops/impl/reshape.cc +++ b/lib/task-spec/src/task-spec/ops/impl/reshape.cc @@ -23,7 +23,7 @@ using namespace FlexFlow::Kernels::Reshape; static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); ReshapeAttrs attrs = acc.get_op_attrs().require_reshape(); @@ -40,7 +40,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); ReshapeAttrs attrs = acc.get_op_attrs().require_reshape(); diff --git a/lib/task-spec/src/task-spec/ops/impl/reverse.cc b/lib/task-spec/src/task-spec/ops/impl/reverse.cc index 56baebd67d..6e253c691c 100644 --- a/lib/task-spec/src/task-spec/ops/impl/reverse.cc +++ b/lib/task-spec/src/task-spec/ops/impl/reverse.cc @@ -27,7 +27,7 @@ using coord_t = long long; static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); ReverseAttrs attrs = acc.get_op_attrs().require_reverse(); @@ -45,7 +45,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); ReverseAttrs attrs = acc.get_op_attrs().require_reverse(); diff --git a/lib/task-spec/src/task-spec/ops/impl/softmax.cc b/lib/task-spec/src/task-spec/ops/impl/softmax.cc index 66693913e6..bf4c5081c3 100644 --- a/lib/task-spec/src/task-spec/ops/impl/softmax.cc +++ b/lib/task-spec/src/task-spec/ops/impl/softmax.cc @@ -53,7 +53,7 @@ static DeviceSpecificPerDeviceOpState static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); SoftmaxPerDeviceState per_device_state = acc.get_per_device_op_state().require_softmax().value(); @@ -72,7 +72,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); SoftmaxPerDeviceState per_device_state = acc.get_per_device_op_state().require_softmax().value(); diff --git a/lib/task-spec/src/task-spec/ops/impl/split.cc b/lib/task-spec/src/task-spec/ops/impl/split.cc index 1e3d3dde92..195f385c53 100644 --- a/lib/task-spec/src/task-spec/ops/impl/split.cc +++ b/lib/task-spec/src/task-spec/ops/impl/split.cc @@ -42,7 +42,7 @@ static std::pair static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); SplitAttrs attrs = acc.get_op_attrs().require_split(); @@ -71,7 +71,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); SplitAttrs attrs = acc.get_op_attrs().require_split(); diff --git a/lib/task-spec/src/task-spec/ops/impl/topk.cc b/lib/task-spec/src/task-spec/ops/impl/topk.cc index 4a1a813c3e..55039e0504 100644 --- a/lib/task-spec/src/task-spec/ops/impl/topk.cc +++ b/lib/task-spec/src/task-spec/ops/impl/topk.cc @@ -25,7 +25,7 @@ using namespace FlexFlow::Kernels::TopK; static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { TopKAttrs attrs = acc.get_op_attrs().require_topk(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input = acc.get_tensor(TensorSlotName::INPUT); @@ -52,7 +52,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { auto attrs = acc.get_op_attrs().require_topk(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input_grad = acc.get_tensor_grad(TensorSlotName::INPUT); diff --git a/lib/task-spec/src/task-spec/ops/impl/transpose.cc b/lib/task-spec/src/task-spec/ops/impl/transpose.cc index 6b0c1d6d44..0fa2a6874f 100644 --- a/lib/task-spec/src/task-spec/ops/impl/transpose.cc +++ b/lib/task-spec/src/task-spec/ops/impl/transpose.cc @@ -25,7 +25,7 @@ namespace FlexFlow { static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); TransposeAttrs attrs = acc.get_op_attrs().require_transpose(); DeviceType kernel_device_type = acc.get_kernel_device_type(); @@ -43,7 +43,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); TransposeAttrs attrs = acc.get_op_attrs().require_transpose(); DeviceType kernel_device_type = acc.get_kernel_device_type(); diff --git a/lib/task-spec/src/task-spec/ops/impl/upsample.cc b/lib/task-spec/src/task-spec/ops/impl/upsample.cc index 35ad4233f0..71ce0ab687 100644 --- a/lib/task-spec/src/task-spec/ops/impl/upsample.cc +++ b/lib/task-spec/src/task-spec/ops/impl/upsample.cc @@ -8,7 +8,7 @@ static std::optional forward_task_impl(TaskArgumentAccessor const &acc) { UpsampleAttrs attrs = acc.get_op_attrs().require_upsample(); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); auto input = acc.get_tensor(TensorSlotName::INPUT); auto output = acc.get_tensor(TensorSlotName::OUTPUT); @@ -24,7 +24,7 @@ static std::optional static std::optional backward_task_impl(TaskArgumentAccessor const &acc) { - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); UpsampleAttrs attrs = acc.get_op_attrs().require_upsample(); diff --git a/lib/task-spec/src/task-spec/optimizer.cc b/lib/task-spec/src/task-spec/optimizer.cc index bd21020085..fa5875e431 100644 --- a/lib/task-spec/src/task-spec/optimizer.cc +++ b/lib/task-spec/src/task-spec/optimizer.cc @@ -12,7 +12,7 @@ static void sgd_update_task_impl(TaskArgumentAccessor const &acc) { auto weight_grad = acc.get_tensor_grad(TensorSlotName::OUTPUT); auto weight = acc.get_tensor(TensorSlotName::OUTPUT); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); ASSERT(weight.shape == weight_grad.shape); @@ -61,7 +61,7 @@ static void adam_update_task_impl(TaskArgumentAccessor const &acc) { auto m_tensor = acc.get_optimizer_tensor( TensorSlotName::WEIGHT, OptimizerSlotName::ADAM_M); - ProfilingSettings profiling = acc.get_profiling_settings(); + std::optional profiling = acc.get_profiling_settings(); DeviceType kernel_device_type = acc.get_kernel_device_type(); ASSERT(weight.shape == weight_grad.shape); diff --git a/lib/task-spec/src/task-spec/task_argument_accessor/task_argument_accessor.cc b/lib/task-spec/src/task-spec/task_argument_accessor/task_argument_accessor.cc index e1055696d4..9554714956 100644 --- a/lib/task-spec/src/task-spec/task_argument_accessor/task_argument_accessor.cc +++ b/lib/task-spec/src/task-spec/task_argument_accessor/task_argument_accessor.cc @@ -2,7 +2,8 @@ namespace FlexFlow { -ProfilingSettings TaskArgumentAccessor::get_profiling_settings() const { +std::optional + TaskArgumentAccessor::get_profiling_settings() const { return this->ptr->get_profiling_settings(); }