Skip to content
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

Merged
merged 28 commits into from
Apr 17, 2024

Conversation

1tnguyen
Copy link
Collaborator

@1tnguyen 1tnguyen commented Mar 22, 2024

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 that qpud and its dependencies never saw.

Note: in #1281, when we activated the MPI plugin, everything worked because the MPI plugin .so is linked (dynamic) to libstdc++.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 full libstdc++ archive if static linking to libstdc++ is required.

  • Also, add the missing export_executable_symbols_for_plugins. Remove the unnecessary setAutoClaimResponsibilityForObjectSymbols (was probably a workaround for the missing export_executable_symbols_for_plugins).

  • Unify the C++-20 and C++-17 paths in some of the observe/sample APIs using the existing make_copyable_function helper.

  • Re-add the targettests lit test suite to installer CI check. Remove the bypass clause (REQUIRES: c++20) in remote-mqpu tests.

Resolved: #1111 and #1281

Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Mar 23, 2024
Copy link

copy-pr-bot bot commented Mar 24, 2024

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Mar 24, 2024

/ok to test

Command Bot: Processing...

Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Mar 25, 2024
@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Mar 25, 2024

/ok to test

Command Bot: Processing...

github-actions bot pushed a commit that referenced this pull request Mar 25, 2024
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Mar 25, 2024

/ok to test

Command Bot: Processing...

Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Mar 25, 2024
@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Mar 25, 2024

/ok to test

Command Bot: Processing...

Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Mar 26, 2024
@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Mar 27, 2024

/ok to test

Command Bot: Processing...

Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Mar 27, 2024
@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Mar 27, 2024

/ok to test

Command Bot: Processing...

github-actions bot pushed a commit that referenced this pull request Mar 27, 2024
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

Copy link

github-actions bot commented Apr 4, 2024

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Apr 4, 2024
Copy link

github-actions bot commented Apr 4, 2024

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Apr 4, 2024
@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Apr 12, 2024

/ok to test

Command Bot: Processing...

Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Apr 12, 2024
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.
@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Apr 12, 2024

/ok to test

Command Bot: Processing...

Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Apr 12, 2024
@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Apr 12, 2024

/ok to test

Command Bot: Processing...

Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Apr 13, 2024
targettests/Remote-Sim/free_func.cpp Outdated Show resolved Hide resolved
targettests/Remote-Sim/free_func.cpp Outdated Show resolved Hide resolved
targettests/Remote-Sim/observe.cpp Outdated Show resolved Hide resolved
targettests/Remote-Sim/observe_async.cpp Outdated Show resolved Hide resolved
@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Apr 16, 2024

/ok to test

Command Bot: Processing...

@1tnguyen
Copy link
Collaborator Author

1tnguyen commented Apr 17, 2024

/ok to test

Command Bot: Processing...

Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Apr 17, 2024
@1tnguyen 1tnguyen merged commit 9df2fe6 into NVIDIA:main Apr 17, 2024
125 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Apr 17, 2024
@bettinaheim bettinaheim added this to the release 0.7.1 milestone Apr 17, 2024
@bettinaheim bettinaheim added the bug fix To be listed under Bug Fixes in the release notes label Apr 17, 2024
@@ -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
Copy link
Collaborator

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.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed #1533.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug fix To be listed under Bug Fixes in the release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remote-MQPU to support C++-17 standard
4 participants