Dlio¶
Namespace: dftracer::utils::utilities::dlio
-
struct AggregatedTraces¶
Public Members
-
std::vector<std::vector<double>> fetch_block_trace¶
-
std::vector<std::vector<double>> fetch_iter_trace¶
-
std::vector<std::vector<double>> getitem_trace¶
-
std::vector<double> computation_times¶
-
std::vector<double> preprocess_times¶
-
std::shared_ptr<DDSketch> fetch_block_sketch¶
-
std::shared_ptr<DDSketch> fetch_iter_sketch¶
-
std::shared_ptr<DDSketch> preprocess_sketch¶
-
std::shared_ptr<DDSketch> getitem_sketch¶
-
Statistic fetch_block_stats¶
-
Statistic fetch_iter_stats¶
-
Statistic preprocess_stats¶
-
Statistic getitem_stats¶
-
double trace_e2e_duration¶
-
double trace_rank_variance¶
-
std::vector<double> trace_per_rank_throughput¶
-
ComponentTimeMetrics trace_preprocess_metrics¶
-
ComponentTimeMetrics trace_fetch_iter_metrics¶
-
ComponentTimeMetrics trace_fetch_block_metrics¶
-
std::vector<std::uint64_t> rank_pids¶
-
int num_ranks¶
-
int num_steps¶
-
bool any_data¶
-
bool sketches_available¶
-
std::uint64_t time_interval_us¶
-
std::vector<std::vector<double>> fetch_block_trace¶
-
struct BarrierSimulationResult¶
Public Members
-
double e2e_duration¶
-
double e2e_error¶
-
double avg_barrier_overhead¶
-
double max_barrier_overhead¶
-
std::vector<double> per_rank_completion_time¶
-
double rank_variance¶
-
double trace_rank_variance¶
-
double rank_variance_error¶
-
double load_imbalance¶
-
std::vector<double> simulated_fetch_block¶
-
double fetch_block_cdf_similarity¶
-
std::vector<double> simulated_preprocess¶
-
std::vector<double> simulated_getitem¶
-
std::vector<double> simulated_fetch_iter¶
-
double fetch_iter_cdf_similarity¶
-
double getitem_cdf_similarity¶
-
double avg_queue_depth¶
-
double avg_queue_stalls¶
-
ComponentTimeMetrics preprocess_metrics¶
-
ComponentTimeMetrics fetch_iter_metrics¶
-
ComponentTimeMetrics fetch_block_metrics¶
-
std::optional<ComponentTimeMetrics> trace_preprocess_metrics¶
-
std::optional<ComponentTimeMetrics> trace_fetch_iter_metrics¶
-
std::optional<ComponentTimeMetrics> trace_fetch_block_metrics¶
-
std::vector<double> simulated_per_rank_throughput¶
-
std::vector<double> trace_per_rank_throughput¶
-
double throughput_mean¶
-
double trace_throughput_mean¶
-
double throughput_mean_error¶
-
double throughput_variance¶
-
double trace_throughput_variance¶
-
double throughput_cdf_similarity¶
-
double e2e_duration¶
-
class BarrierSimulator¶
Public Functions
-
BarrierSimulationResult simulate(const BarrierSimulatorContext &context, std::uint64_t base_seed, const Sampler &fetch_block_sampler, const Sampler &preprocess_sampler = {}) const¶
-
BarrierSimulationResult simulate(const BarrierSimulatorContext &context, std::uint64_t base_seed, const Sampler &fetch_block_sampler, const Sampler &preprocess_sampler = {}) const¶
-
struct BarrierSimulatorContext¶
Public Members
-
int num_ranks¶
-
int num_steps¶
-
double trace_e2e_duration¶
-
std::vector<std::vector<double>> fetch_block_trace¶
-
std::vector<std::vector<double>> fetch_iter_trace¶
-
Statistic fetch_block_stats¶
-
Statistic fetch_iter_stats¶
-
Statistic preprocess_stats¶
-
Statistic getitem_stats¶
-
ComponentTimeMetrics trace_preprocess_metrics¶
-
ComponentTimeMetrics trace_fetch_iter_metrics¶
-
ComponentTimeMetrics trace_fetch_block_metrics¶
-
double trace_rank_variance¶
-
std::vector<double> trace_per_rank_throughput¶
-
std::optional<std::vector<std::vector<double>>> getitem_trace¶
-
std::optional<Statistic> io_stats¶
-
std::optional<std::vector<double>> io_samples¶
-
bool sync_mode¶
-
int accumulate_grad_batches¶
-
bool enable_preprocess_simulation¶
-
int num_workers¶
-
int prefetch_factor¶
-
double preprocess_slowdown_factor¶
-
double base_fetch_iter_overhead¶
-
bool is_aggregated_trace¶
-
double avg_calls_per_epoch¶
-
int num_ranks¶
-
struct Boundary¶
-
struct DlioTimingBlock¶
-
struct OptimizerOptions¶
-
struct OptimizerResult¶
-
struct TraceLoaderOptions¶
-
struct WorkInterval¶
-
class WorkerQueue¶
Public Functions
-
inline WorkerQueue(int num_workers, int prefetch_factor)¶
-
std::vector<WorkInterval> produce_batches(double current_time, const BatchTimeSampler &sampler)¶
-
double consume_batch(double current_time, double base_overhead)¶
-
inline std::size_t queue_depth() const¶
-
inline bool had_stall() const¶
-
inline std::uint64_t stall_count() const¶
-
inline WorkerQueue(int num_workers, int prefetch_factor)¶
Free Functions¶
-
double dftracer::utils::utilities::dlio::cdf_similarity(const std::vector<double> &a, const std::vector<double> &b)¶
-
AggregatedTraces dftracer::utils::utilities::dlio::load_aggregated_traces(const std::string &db_path, const TraceLoaderOptions &options = {})¶
-
BarrierSimulatorContext dftracer::utils::utilities::dlio::make_simulator_context(const AggregatedTraces &traces, int num_workers = 8, int prefetch_factor = 2)¶
-
OptimizerResult dftracer::utils::utilities::dlio::optimize_max_bound_percentile(const BarrierSimulatorContext &context, const BestModel &model, std::vector<double> sample_times, const OptimizerOptions &options = {})¶
-
double dftracer::utils::utilities::dlio::percentile(const std::vector<double> &sorted_data, double pct)¶
-
std::string dftracer::utils::utilities::dlio::render_dlio_yaml(const DlioTimingBlock *computation, const DlioTimingBlock *preprocess)¶
-
double dftracer::utils::utilities::dlio::variance(const std::vector<double> &values)¶
-
bool dftracer::utils::utilities::dlio::write_dlio_yaml(std::ostream &out, const DlioTimingBlock *computation, const DlioTimingBlock *preprocess)¶