CLion: Configuring CMake with Custom Environments
Load Spack environments, modules, or custom variables before CLion runs CMake
heaptrackIt provides efficient, time resolved memory usage, leaks, allocations, flamegraphs, etc. for large applications - even with release compilation. It has a nice gui which opens automatically (if the AppImage is used, otherwise install and run heaptrack_gui) when there’s display connected. heaptrack_gui is also available on ubuntu apt repository and be installed easily by doing (may need sudo):
apt install heaptrack_gui
Portable version can be found here in KDE Download Page. This AppImage worked on both Ubuntu 24.04LTE and Perlmutter. Find more details here: https://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux.html
Another advantage is that even if the application crashes, it stills saves the data upto that point.
valgrind --tool=massifWell known tool for memory profiling. It takes long time for large applications since it slows down the application significantly. Official documentation can be found here: https://valgrind.org/docs/manual/ms-manual.html. It also has a GUI called massif-visualizer.
Generic profiling tool. Find more details here: https://www.linaroforge.com/linaro-map/. Tried to use it for a large application, but it needs debug symbols as well as gets stuck at some point and produces no output.
gperftools / pprofI didn’t use it but listing as an available option.
Kokkos provides a set of tools to track memory usage. Find details here. Don’t forget to compile Kokkos with Kokkos_ENABLE_LIBDL=ON flag before using these tools.
Find details and usage here: https://hpctoolkit.org/. It is available in perlmutter through:
module load spack
spack env activate gcc
spack load hpctoolkit
TAU is also avaiable in perlmutter through the gcc spack environemt. It has higher overhead and I don’t have much experience with it.
Available in perlmutter. Find details here: https://www.linaroforge.com/. Has a nice GUI. I never used it but listing as an option.
sshproxy allowing to connect without password.JetBrains C/C++ IDE. See the guide on configuring CLion’s CMake with Spack environments, modules, or custom shell setups.
Load Spack environments, modules, or custom variables before CLion runs CMake
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.