-
Notifications
You must be signed in to change notification settings - Fork 575
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
9184 winllvmparbuild: fix winllvm parallel builds with modification to muelu, zoltan2, belos #9187
Conversation
enforced by LLVM-11, at least on Windows. The workaround is described at https://stackoverflow.com/questions/24398102/constexpr-and-initialization-of-a-static-const-void-pointer-with-reinterpret-cas So implemented.
typedef SSIZE_T ssize_t; in core/src/input/Zoltan2_InputTraits.hpp. Fixed the sys/time.h versus time.h in zoltan2/core/src/algorithms/color/Zoltan2_AlgHybrid2GL.hpp zoltan2/core/src/algorithms/color/Zoltan2_AlgHybridD1-2GL.hpp zoltan2/core/src/algorithms/color/Zoltan2_AlgHybridD1.hpp zoltan2/core/src/algorithms/color/Zoltan2_AlgHybridD2.hpp zoltan2/core/src/algorithms/color/Zoltan2_AlgHybridPD2.hpp zoltan2/core/src/input/Zoltan2_InputTraits.hpp
…(c)) with inet_addr(c). Verified that it gives the same result with the code, int main(int argc, char** argv) { MPI_Init(&argc, &argv); char hostname[MPI_MAX_PROCESSOR_NAME]; int len; MPI_Get_processor_name(hostname,&len); struct hostent * host = gethostbyname(hostname); int myaddr1 = (int) inet_addr(inet_ntoa(*(struct in_addr *)host->h_addr)); int myaddr2 = (int) htonl(inet_network(inet_ntoa(*(struct in_addr *)host->h_addr))); std::cout << "myaddr1 = " << myaddr1 << std::endl; std::cout << "myaddr2 = " << myaddr2 << std::endl; MPI_Finalize(); } Compiled with mpicxx testinet.cxx -o testinet Output was cary@kara/.../~$ mpiexec -np 1 testinet myaddr1 = -285103936 myaddr2 = -285103936
For convenience, here is the test code: |
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
@trilinos/belos @trilinos/zoltan2 @trilinos/muelu @csiefer2 |
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
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.
Approving to start autotester. Do not merge until all code owners have reviewed.
Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ jhux2 ]! |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_10.1.105
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_10.1.105_uvm_off
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Using Repos:
Pull Request Author: jrobcary |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_10.1.105
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_10.1.105_uvm_off
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ jhux2 ]! |
Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR... |
3 similar comments
Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR... |
Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR... |
Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR... |
@kddevin Any objections? |
Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR... |
1 similar comment
Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR... |
All Jobs Finished; status = PASSED, However PR is now STALE, and must be retested. Set the AT: RETEST Label to force retest.... |
1 similar comment
All Jobs Finished; status = PASSED, However PR is now STALE, and must be retested. Set the AT: RETEST Label to force retest.... |
All Jobs Finished; status = PASSED, However PR is now STALE, and must be retested. Set the AT: RETEST Label to force retest.... |
1 similar comment
All Jobs Finished; status = PASSED, However PR is now STALE, and must be retested. Set the AT: RETEST Label to force retest.... |
@hkthorn probably needs to approve this for Belos. |
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.
Zoltan2 changes are OK.
All Jobs Finished; status = PASSED, However PR is now STALE, and must be retested. Set the AT: RETEST Label to force retest.... |
2 similar comments
All Jobs Finished; status = PASSED, However PR is now STALE, and must be retested. Set the AT: RETEST Label to force retest.... |
All Jobs Finished; status = PASSED, However PR is now STALE, and must be retested. Set the AT: RETEST Label to force retest.... |
…s:develop' (8c63c37). * trilinos-develop: (21 commits) Ifpack2: fix refcount related errors Adds more Ifpack2 preconditioned tests for different Belos solvers 9184 winllvmparbuild: fix winllvm parallel builds with modification to muelu, zoltan2, belos (trilinos#9187) Revert "Ifpack2: correction to typo in long double file." Ifpack2: correction to typo in long double file. Kokkos: rolling back Kokkos changes from PR, per Christian's request. removed unused typedefs to reduce warnings Kokkos: correction to return type for routine. Teuchos: fixing 'warnings as errors' compilation issues that showed up w/ autotester tests. Tpetra: adding 'long double' test. Kokkos: adding ifdef guards around long double routines to prevent compilation in a CUDA build. Tpetra and Ifpack2: fixing issues with 'long double' template specializations not being compiled in Tpetra. Tpetra: adding some missing logic for 'long double' scalartype. Still having issues with ETI enabled. For some reason, Tpetra libs are not built with long double specialization like the rest of the Trilinos packages. Adding support for 'long double' scalar type when ETI is turned on. Kokkos: adding 'long double' specialization to Kokkos::Random. Teuchos: adding 'long double' specialization to SerializationTraits and ScalarTraits. Tpetra and Ifpack2: fixing issues with 'long double' template specializations not being compiled in Tpetra. Tpetra: adding some missing logic for 'long double' scalartype. Still having issues with ETI enabled. For some reason, Tpetra libs are not built with long double specialization like the rest of the Trilinos packages. Adding support for 'long double' scalar type when ETI is turned on. Kokkos: adding 'long double' specialization to Kokkos::Random. ...
…s:develop' (8c63c37). * trilinos-develop: (22 commits) Ifpack2: fix refcount related errors Percept: add .h files to install Adds more Ifpack2 preconditioned tests for different Belos solvers 9184 winllvmparbuild: fix winllvm parallel builds with modification to muelu, zoltan2, belos (trilinos#9187) Revert "Ifpack2: correction to typo in long double file." Ifpack2: correction to typo in long double file. Kokkos: rolling back Kokkos changes from PR, per Christian's request. removed unused typedefs to reduce warnings Kokkos: correction to return type for routine. Teuchos: fixing 'warnings as errors' compilation issues that showed up w/ autotester tests. Tpetra: adding 'long double' test. Kokkos: adding ifdef guards around long double routines to prevent compilation in a CUDA build. Tpetra and Ifpack2: fixing issues with 'long double' template specializations not being compiled in Tpetra. Tpetra: adding some missing logic for 'long double' scalartype. Still having issues with ETI enabled. For some reason, Tpetra libs are not built with long double specialization like the rest of the Trilinos packages. Adding support for 'long double' scalar type when ETI is turned on. Kokkos: adding 'long double' specialization to Kokkos::Random. Teuchos: adding 'long double' specialization to SerializationTraits and ScalarTraits. Tpetra and Ifpack2: fixing issues with 'long double' template specializations not being compiled in Tpetra. Tpetra: adding some missing logic for 'long double' scalartype. Still having issues with ETI enabled. For some reason, Tpetra libs are not built with long double specialization like the rest of the Trilinos packages. Adding support for 'long double' scalar type when ETI is turned on. ...
…s:develop' (8c63c37). * trilinos-develop: (22 commits) Ifpack2: fix refcount related errors Percept: add .h files to install Adds more Ifpack2 preconditioned tests for different Belos solvers 9184 winllvmparbuild: fix winllvm parallel builds with modification to muelu, zoltan2, belos (trilinos#9187) Revert "Ifpack2: correction to typo in long double file." Ifpack2: correction to typo in long double file. Kokkos: rolling back Kokkos changes from PR, per Christian's request. removed unused typedefs to reduce warnings Kokkos: correction to return type for routine. Teuchos: fixing 'warnings as errors' compilation issues that showed up w/ autotester tests. Tpetra: adding 'long double' test. Kokkos: adding ifdef guards around long double routines to prevent compilation in a CUDA build. Tpetra and Ifpack2: fixing issues with 'long double' template specializations not being compiled in Tpetra. Tpetra: adding some missing logic for 'long double' scalartype. Still having issues with ETI enabled. For some reason, Tpetra libs are not built with long double specialization like the rest of the Trilinos packages. Adding support for 'long double' scalar type when ETI is turned on. Kokkos: adding 'long double' specialization to Kokkos::Random. Teuchos: adding 'long double' specialization to SerializationTraits and ScalarTraits. Tpetra and Ifpack2: fixing issues with 'long double' template specializations not being compiled in Tpetra. Tpetra: adding some missing logic for 'long double' scalartype. Still having issues with ETI enabled. For some reason, Tpetra libs are not built with long double specialization like the rest of the Trilinos packages. Adding support for 'long double' scalar type when ETI is turned on. ...
…s:develop' (8c63c37). * trilinos-develop: (22 commits) Ifpack2: fix refcount related errors Percept: add .h files to install Adds more Ifpack2 preconditioned tests for different Belos solvers 9184 winllvmparbuild: fix winllvm parallel builds with modification to muelu, zoltan2, belos (trilinos#9187) Revert "Ifpack2: correction to typo in long double file." Ifpack2: correction to typo in long double file. Kokkos: rolling back Kokkos changes from PR, per Christian's request. removed unused typedefs to reduce warnings Kokkos: correction to return type for routine. Teuchos: fixing 'warnings as errors' compilation issues that showed up w/ autotester tests. Tpetra: adding 'long double' test. Kokkos: adding ifdef guards around long double routines to prevent compilation in a CUDA build. Tpetra and Ifpack2: fixing issues with 'long double' template specializations not being compiled in Tpetra. Tpetra: adding some missing logic for 'long double' scalartype. Still having issues with ETI enabled. For some reason, Tpetra libs are not built with long double specialization like the rest of the Trilinos packages. Adding support for 'long double' scalar type when ETI is turned on. Kokkos: adding 'long double' specialization to Kokkos::Random. Teuchos: adding 'long double' specialization to SerializationTraits and ScalarTraits. Tpetra and Ifpack2: fixing issues with 'long double' template specializations not being compiled in Tpetra. Tpetra: adding some missing logic for 'long double' scalartype. Still having issues with ETI enabled. For some reason, Tpetra libs are not built with long double specialization like the rest of the Trilinos packages. Adding support for 'long double' scalar type when ETI is turned on. ...
…develop' (c9a64d8). * trilinos/develop: (441 commits) Fix syntax error - : in the wrong place Change The intel license info temporarily Add .sandia.gov bacj into the no_proxy variable New proxy setting to match the change Friday Ifpack2: fix refcount related errors Amesos2: try avoiding shallow-copy of a local-view Percept: add .h files to install Adds more Ifpack2 preconditioned tests for different Belos solvers 9184 winllvmparbuild: fix winllvm parallel builds with modification to muelu, zoltan2, belos (trilinos#9187) trying to fix complex value conversion Revert "Ifpack2: correction to typo in long double file." Ifpack2: correction to typo in long double file. Kokkos: rolling back Kokkos changes from PR, per Christian's request. trying to fix signed and unsinged integer comparison MueLu Stratimikos Smoother: Fix include removed unused typedefs to reduce warnings tpetra: Enabling BlockCrsMatrix tests in UVM-free PR testing Kokkos: correction to return type for routine. Teuchos: fixing 'warnings as errors' compilation issues that showed up w/ autotester tests. Teuchos: add hooks to disable/reenable stacked timers for async tasks. ...
@trilinos/belos
@trilinos/zoltan2
@trilinos/muelu
Motivation
Failure to build on Windows with LLVM
Closes issues #8202 and #9184
The problems were:
Belos: uses addressof to create a constexpr, which is not allowed, but for which there is a workaround.
Zoltan2: Need to use time.h instead of sys/time.h on Windows. Need to define ssize_t on Windows.
MueLu: Need implementation to get host-order IP address without using inet_network, which does not exist on windows.