/*************************************************************************
 * Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
 *
 * Runtime tuner header
 ************************************************************************/

#ifndef NCCL_TUNER_H_
#define NCCL_TUNER_H_

#include "nccl.h"
#include "comm.h"

// Get configuration for current workload (either cached or for testing)
ncclResult_t ncclTunerGetConfig(struct ncclComm* comm, struct ncclInfo* info, 
                                 int* algo, int* proto, bool* needsTuning);

// Record performance of last executed configuration
ncclResult_t ncclTunerRecordPerformance(struct ncclComm* comm, float elapsedMs);

#endif
