Visible to Intel only — GUID: GUID-7766EB77-A03E-4E7F-A7C6-093DE49516FC
Visible to Intel only — GUID: GUID-7766EB77-A03E-4E7F-A7C6-093DE49516FC
Profiling in an Apptainer* Container
Learn how to configure an Apptainer container to run analyses with Intel® VTune™ Profiler. Identify hot spots in an application that is running in the isolated container environment.
Content expert: Alexey Kireev
Ingredients
This section lists the hardware and software tools used for the performance analysis scenario.
Application: MatrixMultiplication
This Java* application is used as a demo and not available for download.
Tools: Intel VTune Profiler
Linux container runtime: Apptainer
Operating system: Ubuntu* 20.04
CPU: Intel® microarchitecture code named Skylake with 8 logical CPUs
Install and Configure an Apptainer* Container
Install Apptainer. For installation instructions, see the Apptainer installation guide.
Create an Apptainer* container, for example, using the Docker Hub:
host> apptainer build ubuntu.img docker://ubuntu:latest INFO: Starting build... Getting image source signatures Copying blob 5e8117c0bd28 done Copying config b6548eacb0 done Writing manifest to image destination Storing signatures 2023/12/08 15:23:58 info unpack layer: sha256:5e8117c0bd28aecad06f7e76d4d3b64734d59c1a0a44541d18060cd8fba30c50 INFO: Creating SIF file... INFO: Build complete: ubuntu.img
NOTE:Make sure the ubuntu.img file is created in the current directory.
Run the container.
Apptainer allows you to map directories on your host system to directories within your container. This way, you can read and write data on the host system. For example, if you have a host folder /tmp/vtune with VTune Profiler and a Java application, you must run the container and map /tmp/vtune to /local/vtune within the container.
host> apptainer shell --bind /opt/intel/oneapi/vtune/2024.0:/local/vtune --bind /test_application:/local/test_application ./ubuntu.img
Run Analysis inside the Container
From the Apptainer container, open the command line interface of VTune Profiler(vtune-cl). Run an analysis for your Java application.
For example, to run the Hotspots analysis on the MatrixMultiplication application, type:
Apptainer> /local/vtune/bin64/vtune -collect hotspots -- /local/test_application/jdk-21.0.1/bin/java -cp /local/test_application MatrixMultiplication 2000 2000 2000 2000
To profile a target application running in the Apptainer container, you must open VTune Profiler from the same container.
When the analysis result is ready, use the VTune Profiler GUI installed on the host system to open the result. Start in the Summary window to see a performance overview for the application:
If you need to re-finalize an analysis result outside the Apptainer container (for example, in the GUI version of VTune Profiler installed on the host system), ensure that all binary and source files required for module resolution are accessible outside the container.