Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • Allen Allen
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 181
    • Issues 181
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Jira
    • Jira
  • Merge requests 53
    • Merge requests 53
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • LHCb
  • AllenAllen
  • Merge requests
  • !797

Use CMAKE_TOOLCHAIN_FILE, various cmake changes

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Daniel Hugo Campora Perez requested to merge dcampora_remove_umesimd_submodule into master Mar 09, 2022
  • Overview 53
  • Commits 31
  • Pipelines 50
  • Changes 31

This MR moves to using CMAKE_TOOLCHAIN_FILE and removes the umesimd submodule. There are several implications and changes that have come on top of those two.

  • The build with CVMFS requires now lbenv and CMAKE_TOOLCHAIN_FILE:
source /cvmfs/lhcb.cern.ch/lib/LbEnv
export CMAKE_TOOLCHAIN_FILE=/cvmfs/lhcb.cern.ch/lib/lhcb/lcg-toolchains/LCG_101/x86_64-centos7-clang12-opt.cmake
  • Running Allen STANDALONE with CVMFS now requires using the generated wrapper:
./toolchain/wrapper ./Allen --sequence hlt1_pp_validation
  • A local standalone build without CVMFS will require specifying the env variable UMESIMD_ROOT_DIR to be able to find umesimd properly:
git clone https://github.com/edanor/umesimd.git <some_dir>/umesimd
export UMESIMD_ROOT_DIR=<some_dir>
  • Findumesimd.cmake has been added. Submodules are no longer used.
  • An issue has been uncovered when using CMAKE_TOOLCHAIN_FILE by which boost iostreams was incorrectly not marked as a requirement for target HostCommon. It has been fixed.
  • Allen CI tests now set CMAKE_TOOLCHAIN_FILE prior to building.
  • HIPCC_OPTIONS is now passed the gcc-toolchain from either variable GCC_TOOLCHAIN_ROOT (thanks @clemenci ) or by invoking ${CMAKE_CXX_COMPILER} -print-libgcc-file-name as a last resource. This fix also makes it compatible with ROCm 5.
  • This MR moves to using ROCm 5, which has been recently installed in CVMFS (https://its.cern.ch/jira/browse/LBCORE-2051, thanks @bcouturi !).
  • HIP build is now set to export the origin folder ./ with CMAKE_EXE_LINKER_FLAGS (RPATH options didn't work).
  • CMAKE_CUDA_FLAGS is now passed -ccbin=${CXX_COMPILER_DIR}, where the compiler dir is obtained by stripping the executable filename from the CMAKE_CXX_COMPILER variable.
  • Given that CMAKE_TOOLCHAIN_FILE sets an architecture (passed as -march), the Allen standalone target detection is only executed if no -march is already existing.
  • Allen CI is compiled with architecture x86_64_v3 by default.
  • Allen CI has been properly adjusted to use ./toolchain/wrapper on every Allen call.
  • setupviews are not used anymore as of this MR.
  • The docs have been accordingly updated.
  • An additional CI job was being triggered with every commit of every branch. That has been corrected with this MR.

Closes #287 (closed), #307 (closed), #308 (closed), #309 (closed)

Edited Mar 30, 2022 by Daniel Hugo Campora Perez
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: dcampora_remove_umesimd_submodule