Adding debugging capabilities to the CompileModuled - #5035
Conversation
CI Summary (
|
| Job | Result |
|---|---|
binaries |
⏩ skipped |
build_and_test |
✅ success |
config_devdeps |
✅ success |
config_source_build |
⏩ skipped |
config_wheeldeps |
✅ success |
devdeps |
✅ success |
docker_image |
⏩ skipped |
gen_code_coverage |
⏩ skipped |
metadata |
✅ success |
python_metapackages |
⏩ skipped |
python_wheels |
⏩ skipped |
source_build |
⏩ skipped |
wheeldeps |
✅ success |
⏩ Skipped jobs (7) — intentionally skipped on PR builds; run on merge_group / workflow_dispatch
| Job |
|---|
binaries |
config_source_build |
docker_image |
gen_code_coverage |
python_metapackages |
python_wheels |
source_build |
All sub-jobs (42) — every matrix leg, with links
| Job | Status | Link |
|---|---|---|
| Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| CI Summary | ❔ in_progress | view |
| Configure build (devdeps) | ✅ success | view |
| Configure build (source_build) | ⏩ skipped | view |
| Configure build (wheeldeps) | ✅ success | view |
| Create CUDA Quantum installer | ⏩ skipped | view |
| Create Docker images | ⏩ skipped | view |
| Create Python metapackages | ⏩ skipped | view |
| Create Python wheels | ⏩ skipped | view |
| Gen code coverage | ⏩ skipped | view |
| Load dependencies (amd64, gcc12) / Caching | ✅ success | view |
| Load dependencies (amd64, gcc12) / Finalize | ✅ success | view |
| Load dependencies (amd64, gcc12) / Metadata | ✅ success | view |
| Load dependencies (amd64, llvm) / Caching | ✅ success | view |
| Load dependencies (amd64, llvm) / Finalize | ✅ success | view |
| Load dependencies (amd64, llvm) / Metadata | ✅ success | view |
| Load dependencies (arm64, gcc12) / Caching | ✅ success | view |
| Load dependencies (arm64, gcc12) / Finalize | ✅ success | view |
| Load dependencies (arm64, gcc12) / Metadata | ✅ success | view |
| Load dependencies (arm64, llvm) / Caching | ✅ success | view |
| Load dependencies (arm64, llvm) / Finalize | ✅ success | view |
| Load dependencies (arm64, llvm) / Metadata | ✅ success | view |
| Load source build cache | ⏩ skipped | view |
| Load wheel dependencies (amd64, 12.6) / Caching | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Finalize | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Metadata | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Caching | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Finalize | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Metadata | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Caching | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Finalize | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Metadata | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Caching | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Finalize | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Metadata | ✅ success | view |
| Prepare cache clean-up | ✅ success | view |
| Retrieve PR info | ✅ success | view |
✅ Required checks (6/6) — declared in .github/required-checks.yml for push
| Required check | Status | Link |
|---|---|---|
| Build and test (amd64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
17c94fd to
581d899
Compare
|
Thanks a lot Renaud, this is a good idea. One suggestion: could we reuse the logging utilities we already have rather than printing our own outputs? I'm thinking:
I think this would be useful to have more generally: otherwise we keep adding custom logging mechanism and/or dump everything within the flood of text that CUDAQ_DBG currently prints out. If you want this to work in a release build, replace CUDAQ_DBG with CUDAQ_INFO. I checked with a text generator to see if it seemed doable without too much effort. Below is the edited suggestion, if you want. Tag CUDAQ_DBG calls using a distinct enum class, so overload resolution disambiguates tagged vs. untagged. All existing CUDAQ_DBG("...") call sites compile unchanged. CUDAQ_DBG("x = {}", x); // untagged (as today)
CUDAQ_DBG(cudaq::DbgTag::CompiledModuleCache, "x = {}", x); // taggedlogger.hnew tag enum + accessors, two dbgEmit overloads, and the macro now forwards to them: enum class DbgTag { CompiledModuleCache /* add more */ };
bool isDbgTagActive(DbgTag);
bool anyDbgTagActive();
namespace detail {
template <typename... A> // untagged
void dbgEmit(const char *f, int l, std::string_view m, A &&...a) {
if (anyDbgTagActive()) return; // filtering on: untagged never matches
logMessage(LogLevel::debug, m, f, l, std::forward<A>(a)...);
}
template <typename... A> // tagged
void dbgEmit(const char *f, int l, DbgTag t, std::string_view m, A &&...a) {
if (anyDbgTagActive() && !isDbgTagActive(t)) return;
logMessage(LogLevel::debug, m, f, l, std::forward<A>(a)...);
}
}
#ifdef CUDAQ_DEBUG
#define CUDAQ_DBG(...) \
do { \
if (::cudaq::detail::should_log(::cudaq::detail::LogLevel::debug)) \
::cudaq::detail::dbgEmit(__FILE__, __LINE__, __VA_ARGS__); \
} while (false)
#endiflogger.cppAdd a tag table + active state (mirroring the g_timingList() pattern, lines 34-44): struct DbgTagInfo { DbgTag tag; const char *env; };
static constexpr DbgTagInfo kDbgTags[] = {
{DbgTag::Compiler, "CUDAQ_LOG_COMPILER"},
};
static std::array<bool, std::size(kDbgTags)> &g_dbgActive();
static bool g_anyDbgActive = false;Implement accessors: bool isDbgTagActive(DbgTag tag) { return g_dbgActive()[static_cast<size_t>(tag)]; }
bool anyDbgTagActive() { return g_anyDbgActive; }In initializeLogger() (after the level parsing, near the CUDAQ_TIMING_TAGS block at lines 71-98): for each entry in kDbgTags, read its env var; if set and truthy (non-empty and not 0/false/off), mark active and set g_anyDbgActive = true. Then force debug on: if (g_anyDbgActive && spdlog::get_level() > spdlog::level::debug)
spdlog::set_level(spdlog::level::debug); |
|
This can get definitely better. I do not mean for this to be the way of testing moving forward and I do not think that it should be. We can replace it with something more formal once we see the value. But for now, I would just like to have something for the purpose of this discussion. |
Command Bot: Processing... |
|
Looks like a great step forward in those two areas. Thanks, Renaud. |
CI Summary (
|
| Job | Result |
|---|---|
binaries |
✅ success |
build_and_test |
✅ success |
config_devdeps |
✅ success |
config_source_build |
✅ success |
config_wheeldeps |
✅ success |
devdeps |
✅ success |
docker_image |
✅ success |
gen_code_coverage |
⏩ skipped |
metadata |
✅ success |
python_metapackages |
✅ success |
python_wheels |
✅ success |
source_build |
✅ success |
wheeldeps |
✅ success |
⏩ Skipped jobs (1) — intentionally skipped on PR builds; run on merge_group / workflow_dispatch
| Job |
|---|
gen_code_coverage |
All sub-jobs (213) — every matrix leg, with links
| Job | Status | Link |
|---|---|---|
| Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| CI Summary | ❔ in_progress | view |
| Configure build (devdeps) | ✅ success | view |
| Configure build (source_build) | ✅ success | view |
| Configure build (wheeldeps) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Prepare cache clean-up | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Prepare validation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Staging | ⏩ skipped | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (debian:12) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (fedora:42) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (opensuse/leap:15.5) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Prepare cache clean-up | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Prepare validation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Staging | ⏩ skipped | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (debian:12) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (fedora:42) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (opensuse/leap:15.5) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Prepare cache clean-up | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Prepare validation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Staging | ⏩ skipped | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Prepare cache clean-up | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Prepare validation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Staging | ⏩ skipped | view |
| Create CUDA Quantum installer (arm64, 13.0) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create Docker images (amd64) / Documentation | ✅ success | view |
| Create Docker images (amd64) / Metadata | ✅ success | view |
| Create Docker images (amd64) / Prepare cache clean-up | ✅ success | view |
| Create Docker images (amd64) / Staging | ⏩ skipped | view |
| Create Docker images (amd64) / Validation | ✅ success | view |
| Create Docker images (amd64) / cuda-quantum (release) | ✅ success | view |
| Create Docker images (amd64) / cuda-quantum-dev (debug) | ✅ success | view |
| Create Docker images (amd64) / open-mpi | ⏩ skipped | view |
| Create Docker images (arm64) / Documentation | ⏩ skipped | view |
| Create Docker images (arm64) / Metadata | ✅ success | view |
| Create Docker images (arm64) / Prepare cache clean-up | ✅ success | view |
| Create Docker images (arm64) / Staging | ⏩ skipped | view |
| Create Docker images (arm64) / Validation | ✅ success | view |
| Create Docker images (arm64) / cuda-quantum (release) | ✅ success | view |
| Create Docker images (arm64) / cuda-quantum-dev (debug) | ✅ success | view |
| Create Docker images (arm64) / open-mpi | ⏩ skipped | view |
| Create Python metapackages / Build Python metapackages | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.13) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.14) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (13.0, 3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (13.0, 3.13) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (13.0, 3.14) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.13) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.14) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Build Python 3.11 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (ubuntu:22.04) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (ubuntu:22.04, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel on GPU (nvidia simulator) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Build Python 3.11 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (ubuntu:22.04) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (ubuntu:22.04, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (amd64, 3.13, 12.6) / Build Python 3.13 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.13, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.13, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.13, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.13, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.13, 12.6) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (amd64, 3.13, 13.0) / Build Python 3.13 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.13, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.13, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.13, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.13, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.13, 13.0) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (amd64, 3.14, 12.6) / Build Python 3.14 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.14, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.14, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.14, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.14, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.14, 12.6) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (amd64, 3.14, 13.0) / Build Python 3.14 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.14, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.14, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.14, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.14, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.14, 13.0) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (arm64, 3.11, 12.6) / Build Python 3.11 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (ubuntu:22.04) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (ubuntu:22.04, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (arm64, 3.11, 13.0) / Build Python 3.11 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (ubuntu:22.04) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (ubuntu:22.04, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (arm64, 3.13, 12.6) / Build Python 3.13 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.13, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.13, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.13, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.13, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.13, 12.6) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (arm64, 3.13, 13.0) / Build Python 3.13 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.13, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.13, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.13, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.13, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.13, 13.0) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (arm64, 3.14, 12.6) / Build Python 3.14 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.14, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.14, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.14, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.14, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.14, 12.6) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Create Python wheels (arm64, 3.14, 13.0) / Build Python 3.14 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.14, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.14, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.14, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.14, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.14, 13.0) / Validate wheel on GPU (nvidia simulator) | ⏩ skipped | view |
| Gen code coverage | ⏩ skipped | view |
| Load dependencies (amd64, gcc12) / Caching | ✅ success | view |
| Load dependencies (amd64, gcc12) / Finalize | ✅ success | view |
| Load dependencies (amd64, gcc12) / Metadata | ✅ success | view |
| Load dependencies (amd64, llvm) / Caching | ✅ success | view |
| Load dependencies (amd64, llvm) / Finalize | ✅ success | view |
| Load dependencies (amd64, llvm) / Metadata | ✅ success | view |
| Load dependencies (arm64, gcc12) / Caching | ✅ success | view |
| Load dependencies (arm64, gcc12) / Finalize | ✅ success | view |
| Load dependencies (arm64, gcc12) / Metadata | ✅ success | view |
| Load dependencies (arm64, llvm) / Caching | ✅ success | view |
| Load dependencies (arm64, llvm) / Finalize | ✅ success | view |
| Load dependencies (arm64, llvm) / Metadata | ✅ success | view |
| Load source build cache (amd64, 12.6) / Caching | ✅ success | view |
| Load source build cache (amd64, 12.6) / Finalize | ✅ success | view |
| Load source build cache (amd64, 12.6) / Metadata | ✅ success | view |
| Load source build cache (amd64, 13.0) / Caching | ✅ success | view |
| Load source build cache (amd64, 13.0) / Finalize | ✅ success | view |
| Load source build cache (amd64, 13.0) / Metadata | ✅ success | view |
| Load source build cache (arm64, 12.6) / Caching | ✅ success | view |
| Load source build cache (arm64, 12.6) / Finalize | ✅ success | view |
| Load source build cache (arm64, 12.6) / Metadata | ✅ success | view |
| Load source build cache (arm64, 13.0) / Caching | ✅ success | view |
| Load source build cache (arm64, 13.0) / Finalize | ✅ success | view |
| Load source build cache (arm64, 13.0) / Metadata | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Caching | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Finalize | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Metadata | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Caching | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Finalize | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Metadata | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Caching | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Finalize | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Metadata | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Caching | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Finalize | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Metadata | ✅ success | view |
| Prepare cache clean-up | ✅ success | view |
| Retrieve PR info | ✅ success | view |
✅ Required checks (41/41) — declared in .github/required-checks.yml for merge_group
| Required check | Status | Link |
|---|---|---|
| Build and test (amd64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (debian:12) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (fedora:42) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (opensuse/leap:15.5) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create Docker images (amd64) / Documentation | ✅ success | view |
| Create Docker images (amd64) / Validation | ✅ success | view |
| Create Docker images (arm64) / Validation | ✅ success | view |
| Create Python metapackages / Build Python metapackages | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.13) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.14) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.13) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.14) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
581d899 to
5a70383
Compare
Signed-off-by: Renaud Kauffmann <rkauffmann@nvidia.com>
Signed-off-by: Renaud Kauffmann <rkauffmann@nvidia.com>
5a70383 to
73fa500
Compare
Command Bot: Processing... |
…5035\)" Signed-off-by: Renaud Kauffmann <rkauffmann@nvidia.com>
)" (NVIDIA#5060) ## Summary - Reverts NVIDIA#5035 (`dee5b745`), removing the temporary `CUDAQ_COMPILED_MODULE_CACHE_SIZE` / `CUDAQ_DEBUG_COMPILED_MODULE` debugging hooks from `CompiledModule`, `CompiledModuleCache`, and `JITEngine`. This was introduced as a hack to enable discussion around the deletion of the ExecutionEngine. It is not a productized solution and offers an attack surface. Signed-off-by: Renaud Kauffmann <rkauffmann@nvidia.com>
This PR is adding two environment variables for debug and test purposes.
CUDAQ_COMPILED_MODULE_CACHE_SIZEto control the number of entries in the cache.CUDAQ_DEBUG_COMPILED_MODULEto activate the debug messages in some key places:Two tests are attached
test_sync.py
test_async.py
And can be run with:
As of 12f5dba, this produces:
Meaning that 3 distinct caches are created each holding one entry. No eviction happens.
ExecutionEngines are deleted on exit.The ultimate goal would be to support the eviction of a
CompiledModulebeing run asynchronously. I believe this means that ashared_ptr<CompiledModule>instead of a raw pointer needs to be passed to the running thread.