NVIDIA/nccl-tests

Name: nccl-tests

Owner: NVIDIA Corporation

Description: NCCL Tests

Created: 2017-08-08 23:21:47.0

Updated: 2018-03-20 10:33:22.0

Pushed: 2018-01-30 17:17:35.0

Homepage: null

Size: 23

Language: Cuda

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

NCCL Tests

These tests check both the performance and the correctness of NCCL operations. They can be compiled against NCCL 1 and NCCL 2.

Build

To build the tests, just type make.

If CUDA is not installed in /usr/local/cuda, you may specify CUDA_HOME. Similarly, if NCCL is not installed in /usr, you may specify NCCL_HOME.

ke CUDA_HOME=/path/to/cuda NCCL_HOME=/path/to/nccl

NCCL tests rely on MPI to work on multiple processes, hence multiple nodes. If you want to compile the tests with MPI support, you need to set MPI=1 and set MPI_HOME to the path where MPI is installed.

ke MPI=1 MPI_HOME=/path/to/mpi CUDA_HOME=/path/to/cuda NCCL_HOME=/path/to/nccl
Usage

NCCL tests can run on multiple processes, multiple threads, and multiple CUDA devices per thread. The number of process is managed by MPI and is therefore not passed to the tests as argument. The total number of ranks (=CUDA devices) will be equal to (number of processes)*(number of threads)*(number of gpus per thread).

Quick examples

Run on 8 GPUs (-g 8), scanning from 8 Bytes to 128MBytes :

build/all_reduce_perf -b 8 -e 128M -f 2 -g 8

Run with MPI on 40 processes (potentially on multiple nodes) with 4 GPUs each, disabling checks :

irun -np 40 ./build/all_reduce_perf -b 8 -e 128M -f 2 -g 4 -c 0
Performance

See the Performance page for explanation about numbers, and in particular the “busbw” column.

Arguments

All tests support the same set of arguments :

Copyright

NCCL tests are provided under the BSD licence. All source code and accompanying documentation is copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.