con un clic
remote-build
Guide for building MAPL on bucy remote server with Intel compiler
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Guide for building MAPL on bucy remote server with Intel compiler
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Safely switch between NAG, gfortran, and Intel compilers when building MAPL
MAPL Fortran coding standards and style conventions
GitHub workflow, commit conventions, and PR process for MAPL
Build MAPL with NAG, gfortran, or Intel compilers on macOS and Linux
MAPL error handling macros and best practices
First-time MAPL development environment setup and configuration
Basado en la clasificación ocupacional SOC
| name | remote-build |
| description | Guide for building MAPL on bucy remote server with Intel compiler |
| compatibility | opencode |
This skill guides you through building MAPL on the bucy remote server using the Intel compiler. Bucy is typically used for Intel-specific builds and testing.
mapl-build skill)ssh bucy
# On bucy
cd ~/swdev/VS/MAPL # or your MAPL path
# Load Intel compiler and dependencies
module purge
module load comp/intel-2021.3.0
module load cmake/3.21.0
# Create and enter build directory
mkdir -p intel
cd intel
# Configure
cmake .. \
-DCMAKE_Fortran_COMPILER=ifort \
-DCMAKE_C_COMPILER=icc \
-DCMAKE_CXX_COMPILER=icpc \
-DCMAKE_BUILD_TYPE=Debug \
-DBASEDIR=/discover/swdev/gmao_SIteam/BaseLibs/ESMA-Baselibs-7.17.2/x86_64-pc-linux-gnu/ifort_2021.3.0-intelmpi_2021.3.0
# Build
make -j8 install
IMPORTANT: Bucy configuration is standardized. All developers use the same module names and paths on bucy.
If you have a ~/.opencode/mapl-config.yaml file with bucy settings, use those. Otherwise, use these standard values:
bucy:
hostname: "bucy"
modules:
- "comp/intel-2021.3.0"
- "cmake/3.21.0"
compilers:
fortran: "ifort"
c: "icc"
cxx: "icpc"
basedir: "/discover/swdev/gmao_SIteam/BaseLibs/ESMA-Baselibs-7.17.2/x86_64-pc-linux-gnu/ifort_2021.3.0-intelmpi_2021.3.0"
mapl_path: "~/swdev/VS/MAPL" # Update if your path differs
CRITICAL: Always start with module purge to avoid conflicts from your default environment.
Standard modules on bucy:
comp/intel-2021.3.0 - Intel Fortran/C/C++ compilerscmake/3.21.0 - CMake build systemCheck available modules:
module avail
The BASEDIR must match the Intel compiler version you're using. The standard path is:
/discover/swdev/gmao_SIteam/BaseLibs/ESMA-Baselibs-7.17.2/x86_64-pc-linux-gnu/ifort_2021.3.0-intelmpi_2021.3.0
IMPORTANT: If you're using a different Intel version, adjust the BaseLibs path accordingly.
ssh bucy
cd ~/swdev/VS/MAPL # or wherever your MAPL repo is located
module purge
module load comp/intel-2021.3.0
module load cmake/3.21.0
Verify modules loaded:
module list
mkdir -p intel
cd intel
CRITICAL: Use a dedicated build directory for Intel (e.g., intel). Never mix compilers in the same build directory.
cmake .. \
-DCMAKE_Fortran_COMPILER=ifort \
-DCMAKE_C_COMPILER=icc \
-DCMAKE_CXX_COMPILER=icpc \
-DCMAKE_BUILD_TYPE=Debug \
-DBASEDIR=/discover/swdev/gmao_SIteam/BaseLibs/ESMA-Baselibs-7.17.2/x86_64-pc-linux-gnu/ifort_2021.3.0-intelmpi_2021.3.0
Common CMake Options:
-DCMAKE_BUILD_TYPE=Debug - Debug build (default for development)-DCMAKE_BUILD_TYPE=Release - Optimized build-DCMAKE_INSTALL_PREFIX=<path> - Custom install locationmake -j8 install
Build Performance:
-j8 based on available cores and system load-j4 if system is busy, -j16 if you have priority# Check that libraries were built
ls -lh lib/
# Check that executables were built (if applicable)
ls -lh bin/
After building, you can run tests:
# From the build directory (e.g., intel/)
ctest
# Run tests in parallel
ctest -j4
# Run specific test
ctest -R TestName
# Verbose output for debugging
ctest -V -R TestName
See the mapl-testing skill for comprehensive testing guidance.
Symptom:
module: command not found
Solution: Ensure you're on bucy and your shell is properly configured for modules:
source /usr/share/modules/init/bash # for bash
source /usr/share/modules/init/tcsh # for tcsh
Symptom:
CMake Error: CMAKE_Fortran_COMPILER not set
Solution:
module listwhich ifortmodule purge
module load comp/intel-2021.3.0
Symptom:
CMake Error: Could not find ESMF
Solution: Verify BASEDIR path exists and matches your Intel version:
ls /discover/swdev/gmao_SIteam/BaseLibs/ESMA-Baselibs-7.17.2/x86_64-pc-linux-gnu/
Look for directory matching your Intel compiler version (e.g., ifort_2021.3.0-intelmpi_2021.3.0).
Solution: Reduce parallel jobs:
make -j2 install # or even -j1 if necessary
Symptom: CMake configuration seems wrong or inconsistent.
Solution: Clear CMake cache and rebuild:
rm -rf CMakeCache.txt CMakeFiles/
cmake .. [options]
make -j8 install
Option 1: Git (Recommended)
# Local: commit and push
git add .
git commit -m "Description"
git push
# On bucy: pull changes
ssh bucy
cd ~/swdev/VS/MAPL
git fetch
git checkout your-feature-branch
git pull
Option 2: rsync
# From local machine
rsync -avz --exclude 'build*' --exclude '*.o' \
~/swdev/VS/MAPL/ bucy:~/swdev/VS/MAPL/
CRITICAL: Always prefer git workflow. Only use rsync for temporary testing of uncommitted changes.
Intel compiler may produce different warnings than NAG or gfortran. Common Intel-specific issues:
Intel is less strict about uninitialized variables. Code that passes Intel may fail NAG.
Best Practice: Always develop with NAG first, then verify with Intel.
Intel's aggressive optimization can expose race conditions or undefined behavior.
Solution: If Release build fails but Debug works, try:
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
Intel has different OpenMP default behaviors.
Solution: Explicitly specify OpenMP flags if needed:
cmake .. -DCMAKE_Fortran_FLAGS="-qopenmp"
-j8 or higher)/tmp or local scratch spacemapl-testing skill)To use a different Intel compiler version:
Check available versions:
module avail comp/intel
Load desired version:
module load comp/intel-<version>
CRITICAL: Update BASEDIR to match the Intel version in the BaseLibs path.
cmake .. \
-DCMAKE_INSTALL_PREFIX=/discover/nobackup/$USER/MAPL-intel \
[other options]
make -j8 install
This installs to a custom location instead of the default install/ directory.
Enable verbose build output:
make VERBOSE=1 -j8 install
This shows full compiler commands, useful for diagnosing configuration issues.
When to use this skill: