... | ... | @@ -45,6 +45,12 @@ In a gross oversimplification the communication time consists of two parts, the |
|
|
|
|
|
For small message sizes the communication time is dominated by the latency. For large message sizes the communication time is dominated by transmit time, which depends on the communication bandwidth. As such to benchmark communication latency message sizes as small as possible should be used, ideally 0, but messages must have a non-zero message size, as such 1 should be used. To benchmark transmit times, and indirectly bandwidth, as large as possible, although often as large as feasible, message sizes should be used. This ensures that the latency plays a vanishing role in the communication time. Why should message sizes as large as feasible and not as large as possible be used here? The answer is that as message size increases the length of time for the benchmark also grows and too large messages sizes might make Linktest take too long. This is often the case when testing connections serially.
|
|
|
|
|
|
# CPU RAM
|
|
|
The Random Access Memory (RAM) associated with the Central Processing Units (CPU) of a system, this is usually the main RAM and default RAM Linktest uses to store its messages. However, the dedicated on-card RAM of Graphics Processing Units (GPU) from NVIDIA GPUs can also be used via CUDA. Turning on the option `--use-gpus` enables this. Note that Linktest does not keep track of which GPU memory was pinned to, it does not even keep track of which CPU a given Linktest task is executed on. This is the responsibility of the one executing the Linktest benchmark.
|
|
|
|
|
|
# GPU RAM
|
|
|
The Random Access Memory (RAM) associated with a Graphics Processing Unit (GPU) on a system, this is usually not the main RAM of the system associated with the Central Processing Units (CPU) of the system. Linktest uses the latter RAM by default to store its messages. For NVIDIA GPUs the GPU RAM, however, can also be used to store the Linktest messages via CUDA. Turning on the option `--use-gpus` enables this. Pinning Linktest tasks to specific GPUs is required for this. Linktest does not keep track of which GPU memory was pinned to, it does not even keep track of which CPU a given Linktest task is executed on. This is the responsibility of the one executing the Linktest benchmark.
|
|
|
|
|
|
# Latency
|
|
|
The time it takes before an action can be executed. For Linktest this is the time it takes between a message being ready to be sent till sending begins.
|
|
|
|
... | ... | |