-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix QPUD Library Mode Installer Build #1435
Fix QPUD Library Mode Installer Build #1435
Conversation
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
This reverts commit 7e83939.
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
In this PR, we've re-enabled C++17 tests for the installer build CI, hence we need to adjust those tests that use C++20 syntax.
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Move C++17 tests into separate test files.
Command Bot: Processing... |
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
@@ -109,10 +111,6 @@ void invokeWrappedKernel(std::string_view irString, | |||
return std::make_unique<llvm::SectionMemoryManager>(); | |||
}); | |||
llvm::Triple targetTriple(llvm::Twine(llvmModule->getTargetTriple())); | |||
// IMPORTANT: need to setAutoClaimResponsibilityForObjectSymbols to true to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The removal of these lines probably means we need to edit the comments in runtime/common/JIT.h
, too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed #1533.
Description
Root cause: missing symbols (e.g., those errors reported in #1281) is due to static linking to
libstdc++
(only installer build uses this configuration). Specifically, the incoming LLVM IR may reference symbols thatqpud
and its dependencies never saw.Note: in #1281, when we activated the MPI plugin, everything worked because the MPI plugin
.so
is linked (dynamic) tolibstdc++.so
. That plugin is then loaded (dlopen
) at runtime, hence all symbols are available via dynamic lookup.Fixes:
Modify CMake config of the
qpud
tool to include the fulllibstdc++
archive if static linking tolibstdc++
is required.Also, add the missing
export_executable_symbols_for_plugins
. Remove the unnecessarysetAutoClaimResponsibilityForObjectSymbols
(was probably a workaround for the missingexport_executable_symbols_for_plugins
).Unify the C++-20 and C++-17 paths in some of the
observe
/sample
APIs using the existingmake_copyable_function
helper.Re-add the
targettests
lit test suite to installer CI check. Remove the bypass clause (REQUIRES: c++20
) inremote-mqpu
tests.Resolved: #1111 and #1281