10 - HPC Cafe: Using the LIKWID tool suite (Thomas Gruber) [ID:19954]
50 von 195 angezeigt

So, welcome everybody to the HPC Cafe.

My name is Thomas Gruber.

I'm working at the HPC service at the RZE Erlangen and I'm the main developer of the

liquid.

So, I'm the best to introduce it to you.

What is liquid?

A liquid is the name comes from an abbreviation of like I knew what I'm doing and the idea

is to have like a big program that does everything for you but more like the Unix philosophy

to use small tools that are dedicated for one task.

So, not you don't need the whole kitchen machine but just a knife or like a whatever else.

It's developed at the RZE since 2009.

The development was started by Jan Einziger who did the introduction right now and I took

over in like 2013.

It's an open source tool, it's active development, huge community worldwide in use and for us

the goals are to offer powerful tools for our daily work and especially to get access to

the derived metrics for performance engineering tasks like checking the vectorization, getting

flops counts, memory bandwidth numbers and so on.

So, here's again the overview.

Liquid topology provides you the information about how the system looks like, where are

the threads located, how many sockets do I have, how many numadomains do I have and so

on.

And then very important controlling the CPU affinity of processes and threads can be done

with liquid pin.

For like measuring stuff like getting the derived metrics like flops and so on, we have

liquid perf counter.

Then we have liquid bench which does some micro benchmarking using assembly benchmarks.

So no interference with compilers and so on.

For controlling the system we have liquid set frequencies for CPU and uncle frequencies

and liquid features which manipulates CPU settings.

At the moment it's only prefetches, there are not that much knobs that can be used for

that.

And for benchmarking we have liquid mem sweeper which cleans up the caches and the numadomains

from like cached files and so on so that it's clear so that if you run a benchmark afterwards

there's enough free space and no further operations by the operating system needed to clean up

while you allocate stuff.

In order to use it on the RSI systems on EMI you have to add the liquid property to the

Qsub command and for SLURM there's minus CHW perf so C for constraint so add it to your

SRUN or SLLUK command to get access to the hardware counters.

There's a special tool called liquid pin which is basically in the middle of liquid pin and

liquid perf counter because it supports both stuff, both operations so you can just pin

your threads using it for MPI and hybrid applications but you can also measure stuff with liquid

MPI run.

I have some example slides later which show how to use it so stay tuned.

So here's some output of liquid topology run on an Intel cascade lake node in our test cluster.

So here you get a header printed by liquid which CPU it is, what type of CPU, which stepping

and so on.

Then you get direct information how many sockets do we have, how many cores per socket, and

whether like hyperthreading is enabled.

We see that in this threads per core so if it's one hyperthreading is disabled for threads

per core two and more you have SMT actions enabled.

Teil einer Videoserie :
Teil eines Kapitels:
HPC Café

Zugänglich über

Offener Zugang

Dauer

00:22:02 Min

Aufnahmedatum

2020-07-21

Hochgeladen am

2020-07-21 10:56:22

Sprache

en-US

Tags

HPC rrze Security clusters tmux LIKWID Pin pychachesim
Einbetten
Wordpress FAU Plugin
iFrame
Teilen