Useful commands

We have gathered a list of useful commands when working with LaPalma4. These commands are classified in the next sections, please, let us know if you use other commands that you think we should add to this list:

  1. Transferring files

  2. Available software on LaPalma

  3. Specifying which software you want to use

  4. Compiling

  5. Profiling and debugging

Useful commands for executing your parallel application are listed at Useful Commands (executions).

Transferring files

For transferring files to LaPalma from Unix systems (Linux, MacOS,...), you can use secure copy (scp) and secure ftp (sftp), both tools have the same syntax as the old and insecure tools such as rcp (remote copy) and ftp. You can use remote sync (rsync), too, as long as you use ssh as remote shell. As have been said before, no connections are allowed from inside LaPalma to the outside world so all scp, sftp and rsync commands have to be executed from your local machines and not inside LaPalma.

Here there are some examples of each of this tools transferring files to LaPalma:

[mymachine]$ scp localfile usertest@lapalma1.iac.es:remotedir

[mymachine]$ sftp usertest@lapalma1.iac.es
sftp> cd remotedir
sftp> put localfile

[mymachine]$ rsync -auv localfile usertest@lapalma1.iac.es:remotedir

These are the ways to retrieve files from LaPalma to your local machine:

[mymachine]$ scp usertest@lapalma1.iac.es:remotefile localdir

[mymachine]$ sftp usertest@lapalma1.iac.es
sftp> cd remotedir
sftp> get remotefile

[mymachine]$ rsync -auv usertest@lapalma1.iac.es:remotefile localdir

If you are not familiar with these transferring tools, please, check documentation to know the different options they offer. For instance, with sftp you can use mget or mput for multiple transfers, -r for recursion in directories, lcd to change the local directory, use ! to execute some commands locally, etc. rsync also offers a lot of different useful options.

Available software on LaPalma

LaPalma4 early access

LaPalma4 has been online since only mid-February 2026. Therefore, some of the software stack may be not yet fully installed. If you encounter any software issue or require a specific software not yet installed, please reach us at res_support@iac.es.

The list of available software on LaPalma is continuously being updated, since we frequently install new software or upgrade existing one according to the needs of our users. If you would like to ask for time to execute on LaPalma, but you need to know first which software is available, please, contact us and inquire whether a specific software (and version) is already available or we can install it. Also you can check the next list to have an idea:

List of installed software on LaPalma (February 2026):

---------------------------------- Compilers ----------------------------------
gcc/15.2.0                           oneapi/dpct/latest
oneapi/advisor/2025.4                oneapi/dpl/2022.10
oneapi/advisor/latest                oneapi/dpl/latest
oneapi/ccl/2022.0.0                  oneapi/intel_ipp_intel64/2022.3
oneapi/ccl/latest                    oneapi/intel_ipp_intel64/latest
oneapi/compiler-intel-llvm/2025.3.2  oneapi/intel_ippcp_intel64/2025.3
oneapi/compiler-intel-llvm/latest    oneapi/intel_ippcp_intel64/latest
oneapi/compiler-rt/2025.3.2          oneapi/ishmem/1.5.0
oneapi/compiler-rt/latest            oneapi/ishmem/latest
oneapi/compiler/2025.3.2             oneapi/mkl/2025.3
oneapi/compiler/latest               oneapi/mkl/latest
oneapi/dal/2025.10                   oneapi/mpi/2021.17
oneapi/dal/latest                    oneapi/mpi/latest
oneapi/debugger/2025.3.1             oneapi/tbb/2022.3
oneapi/debugger/latest               oneapi/tbb/latest
oneapi/dev-utilities/2025.3.0        oneapi/umf/1.0.2
oneapi/dev-utilities/latest          oneapi/umf/latest
oneapi/dnnl/3.9.1                    oneapi/vtune/2025.8
oneapi/dnnl/latest                   oneapi/vtune/latest
oneapi/dpct/2025.3.0

------------------------------------ Tools ------------------------------------
cmake/4.2.3  python/3.12.12

---------------------------------- Libraries ----------------------------------
boost/1.90.0  fftw/3.3.10/intel/mpi  gsl/2.8  hdf5/1.14.6

Specifying which software you want to use

All installed software (compilers, applications, numerical and graphical libraries, tools, etc.) can be found at /storage/apps/. There is a directory for each application (uppercase letters) and then a subdirectory with the installed versions. For better flexibility, users are allowed to choose which software packages and version want to use on their executions. By using the Environment Modules package you can dynamically load and/or unload specific modules using the commands listed below (remember to load your required modules in your submission scripts). To manage the modules, you only need to use module command and the proper option, the most common ones are listed bellow:

  • List all available modules

    [lapalma1]$ module avail
    
  • List all available versions of a specific package

    [lapalma1]$ module avail <package>      # For example: module avail gnu
    
  • Load an specific module

    [lapalma1]$ module load <module_name>   # For example: module load gnu/7.2.0
    
  • List all loaded modules

    [lapalma1]$ module list
    
  • Unload modules

    [lapalma1]$ module rm <module_name>              # Unload a specific module. For example: module rm python/2.6
    [lapalma1]$ module purge                         # Unload all modules
    [lapalma1]$ module switch <old_mod> <new_mod>    # Replace modules (unload old_mod and then load new_mod)
    
  • Show detailed info (like prerequisites and conflicts)

    [lapalma1]$ module show <module_name>              # Display details for a module (you can also use display)
    [lapalma1]$ module show <module_name> | grep "prereq\|conflict"     # Show prerequisites and conflicts
    

Note

  • Some of the modules could be needed when executing your code, in order to properly load dynamic libraries, etc. Be careful and do not forget to add the right modules in your script file when submitting it.

Compiling

LaPalma4 early access

LaPalma4 has been online since only mid-February 2026. Therefore, some of the software stack may be not yet fully installed. If you encounter any software issue or require a specific software not yet installed, please reach us at res_support@iac.es.

There are several available compilers in LaPalma4, remember to load their modules before using those compilers. Some modules are not compatible among them, so you may need to unload first a module to load a new one (some examples about how to load and unload modules are shown above).

Sequential

You can use the GNU or Intel OneAPI compilers in order to compile your sequential codes:

#           C            C++      Fortran          Compiler
[lapalma1]$ gcc ...      g++      gfortran         # GNU:      module load gnu
[lapalma1]$ icx ...      icpx     ifx              # Intel: module load oneapi/compiler

OpenMP

The same compilers used for sequential codes can be used for OpenMP applications, adding the proper flag, -fopenmp for GCC and -qopenmp for Intel OneAPI compilers.

MPI

If you need to compile MPI programs, you can use the Intel OneAPI MPI library:

#           C        C++      Fortran    Compiler
[lapalma1]$ mpiicx   mpiicpx  mpiifx     # Intel OneAPI module load oneapi/compiler oneapi/mpi

Optimization options

Using the proper optimizations options when compiling could considerably increase the performance of your program, but bear in mind that optimizations highly depend on each code, so you should check which options are the best ones for your application. Here we recommend some generic ones:

  • GNU compilers: -O3 -mtune=native -march=native

  • Intel compilers: -O3 -xHost

Note

  • If your application needs some external libraries (like gsl, mkl, hdf5, netcdf, etc.), use command module avail <package> to see if they are available. If so, load the one(s) you need with module load <module> before compiling your application (and also remember that you might also need to load them in your submit script when running your application). Also check all available versions before loading a module, since sometimes there are specific modules depending on the compilers that you are going to use (for instance, openmpi has different modules for gnu or intel. You can see all those versions using: module avail <package>, usually dependencies are indicated after the version number). Please, contact us if you have any doubt about which version you should choose or you need any software that is not already installed.

Profiling and debugging

LaPalma4 early access

LaPalma4 has been online since only mid-February 2026. Therefore, some of the software stack may be not yet fully installed. If you encounter any software issue or require a specific software not yet installed, please reach us at res_support@iac.es.

The next tools are available on LaPalma4:

  • GNU profiler: gprof

  • GNU code coverage: gcov

  • GNU debugger: gdb

  • Intel OneAPI VTune: module load oneapi/vtune

  • Intel Advisor: module load advisor