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 = 0.0¶
-
double trace_rank_variance = 0.0¶
-
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 = 0¶
-
int num_steps = 0¶
-
bool any_data = false¶
-
bool sketches_available = false¶
-
std::uint64_t time_interval_us = 0¶
-
std::vector<std::vector<double>> fetch_block_trace¶
-
struct BarrierSimulationResult¶
Public Members
-
double e2e_duration = 0.0¶
-
double e2e_error = 0.0¶
-
double avg_barrier_overhead = 0.0¶
-
double max_barrier_overhead = 0.0¶
-
std::vector<double> per_rank_completion_time¶
-
double rank_variance = 0.0¶
-
double trace_rank_variance = 0.0¶
-
double rank_variance_error = 0.0¶
-
double load_imbalance = 0.0¶
-
std::vector<double> simulated_fetch_block¶
-
double fetch_block_cdf_similarity = 0.0¶
-
std::vector<double> simulated_preprocess¶
-
std::vector<double> simulated_getitem¶
-
std::vector<double> simulated_fetch_iter¶
-
double fetch_iter_cdf_similarity = 0.0¶
-
double getitem_cdf_similarity = 0.0¶
-
double avg_queue_depth = 0.0¶
-
double avg_queue_stalls = 0.0¶
-
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 = 0.0¶
-
double trace_throughput_mean = 0.0¶
-
double throughput_mean_error = 0.0¶
-
double throughput_variance = 0.0¶
-
double trace_throughput_variance = 0.0¶
-
double throughput_cdf_similarity = 0.0¶
-
double e2e_duration = 0.0¶
-
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 = 0¶
-
int num_steps = 0¶
-
double trace_e2e_duration = 0.0¶
-
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 = 0.0¶
-
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 = false¶
-
int accumulate_grad_batches = 1¶
-
bool enable_preprocess_simulation = false¶
-
int num_workers = 8¶
-
int prefetch_factor = 2¶
-
double preprocess_slowdown_factor = 1.0¶
-
double base_fetch_iter_overhead = 0.0¶
-
bool is_aggregated_trace = false¶
-
double avg_calls_per_epoch = 1.0¶
-
int num_ranks = 0¶
-
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)¶