if __name__ == '__main__': # pin CPUs according to worker rank import os, psutil rank = int(os.environ.get('RANK','0')) world_size = int(os.environ.get('WORLD_SIZE','1')) cores = list(range(psutil.cpu_count(logical=True))) num_cores = len(cores) cores_per_process = num_cores // world_size start_index = rank * cores_per_process end_index = (rank + 1) * cores_per_process pid = os.getpid() p = psutil.Process(pid) p.cpu_affinity(cores[start_index:end_index]) batch_size = 8 model = get_model(channels_last=True) batch = get_input(batch_size, channels_last=True) infer_fn = get_inference_fn(model, enable_amp=True) avg_time = benchmark(infer_fn, batch) print(f"\nAverage samples per second: {(batch_size/avg_time):.2f}")