LLNL / AMS

Apache License 2.0
5 stars 8 forks source link

Add AMQ-CPP to CI containers #86

Closed lpottier closed 1 month ago

lpottier commented 1 month ago

For PR #85, we need AMQ-CPP to test RabbitMQ capabilities in CI.

We will need to add those packages to ams-ci-test-ruby-centos7.

ggeorgakoudis commented 1 month ago

@lpottier amqp-cpp is already in the spack.yaml: https://github.com/LLNL/AMS/blob/develop/.github/containers/x86_64-broadwell-cuda11.6.1/spack.yaml#L22. Can you clarify what's the issue?

lpottier commented 1 month ago

@ggeorgakoudis You are right the cuda image has amq-cpp, I assumed it did not have it as the ams-ci-test-ruby-centos7 image does not have amq-cpp. I was using ams-ci-test-ruby-centos7 because the cuda image takes much longer to load and I don't use cuda.

I can use the CUDA image for now but when we will move to centos 8, we should install amqp-cpp in both containers :)

ggeorgakoudis commented 1 month ago

@lpottier The other image has it too: https://github.com/LLNL/AMS/blob/develop/.github/containers/x86_64-broadwell-gcc11.2.1/spack.yaml#L22

lpottier commented 1 month ago

@ggeorgakoudis if I run docker run -i -t ghcr.io/ggeorgakoudis/ams-ci-test-ruby-centos7 /bin/bash there is no amq-cpp. Here is the result of cat /ams-spack-env/spack.yaml:

spack:
  # add package specs to the `specs` list
  specs:
  - python
  - py-torch
  - py-scipy
  - py-h5py
  - py-pip
  - py-kosh
  - py-mpi4py
  - mfem
  - umpire
  - caliper
  - faiss
  - flux-core
  - flux-sched
  - py-pika
  - nlohmann-json
  view: local
  concretizer:
    unify: true
    reuse: false
  repos:
  - ../repo
  - $spack/var/spack/repos/builtin
  packages:
    all:
      variants: [~cuda]
      compiler: [gcc@11.2.1]
      target: [broadwell]
      providers:
        mpi: [mvapich2]
        blas: [openblas]
        lapack: [openblas]
    cmake:
      require: '@3.23.1'
    py-torch:
      require: '@1.12~valgrind~mkldnn+distributed+mpi~cuda'
    py-kosh:
      require: '@3.0.1'
    raja:
      require: '@2022.03.0~openmp~cuda'
    hdf5:
      require: '@1.14~mpi api=v18'
    mfem:
      require: '@4.5~openmp~cuda+raja+umpire+shared+static~mpi~metis~examples~zlib'
    umpire:
      require: '@2022.03.1~shared~cuda'
    caliper:
      require: '@2.9+shared~libdw~libunwind'
    faiss:
      require: '@1.7.2+python+shared~cuda build_system=cmake'
    redis-plus-plus:
      require: '@1.3.6+tls cxxstd=14'
    py-tqdm:
      require: +notebook
    cudnn:
      require: '@8.4.0.27-11.6'
    py-tensorboard:
      require: '@2.4.1'
    flux-core:
      require: '@0.45'
    flux-sched:
      require: '@0.28'
    py-pika:
      require: '@1.3.1'

Did I miss something?

ggeorgakoudis commented 1 month ago

@lpottier It's a bug then, the container image should correspond to the configuration. Yes, we need to make sure amqp-cpp is installed as prescribed.

lpottier commented 1 month ago

@ggeorgakoudis I tested AMS with the CUDA image and libevent is missing. It is not an explicit dependency on AMS because it's present on most HPC clusters, but it's not on most containers image by default.