-
Notifications
You must be signed in to change notification settings - Fork 34
Add DUCC to qdk-chemistry #602
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
base: main
Are you sure you want to change the base?
Changes from all commits
4c00ac8
1b482e9
b1df0bc
2f253bd
44eac61
438d438
cc74792
cb58937
2b1be20
6e111fc
831f89a
ebfe72e
77eaa62
e81e927
54d7d3d
b6cc8df
d3ae335
ea213da
3f405c9
117f22e
eaba4f6
3c2828c
b596541
2c3b417
d284d12
98936d8
90605a9
f9d879c
1924654
096558a
0ecfd4f
99ff193
175c40c
1b2ab5e
33672bc
99966d1
34b9f4d
520ab76
7cd3b0f
e88b4a4
becc963
b2b1c86
e8ce53d
72f6d9d
bccb157
1d85aa4
5998dc1
82c74af
20727c1
0770017
c447b1d
04cd302
1af660d
22a6b86
4433d44
c4f5a7c
806e3a1
f742d38
3ae7e4b
9fe246b
1817d87
4ffc1d9
a11d660
674af80
ae53aa8
65ac09c
a2641b2
1e32db6
d79e3db
843d65e
2ef4fad
8468d6a
3334c63
51e3744
e2b7bb9
5a41a7f
1f1a923
1c80495
e74d70c
ce2a791
bf8ce1b
57b2ef9
c13f6a0
0806acb
f756ca5
f470bf5
e94c083
c8ae754
e9f37e0
3d1d436
8783fda
557e28a
e26ebd1
d2888c1
d2fdc1f
84d85a7
f9b7e17
18d0dea
748957e
0b48ab7
832835b
2ed7e67
f8d7d44
d9512cf
aebc932
f4a5ec1
318703c
6353700
ecd2c47
2eaba5a
91c0a6d
3a0e748
6913b48
aef4b46
6fa6a8a
606974e
29042c2
050128a
bf554f9
290705e
5df5f42
fef12b7
24c0aea
372656f
095aaa4
43d8fc7
f5434e2
6e3d611
27e0f3a
bf58de7
adf012b
84ad809
93c587e
a3ed603
d5e916d
8a70207
33039d3
52a1bdc
8424c88
833268f
e447a6a
618a34f
24a3972
43b9c55
ef5d260
217da28
fa72c2c
c67ad17
27c4c6c
0be20b0
3efb205
80633d0
a56002f
6f2ea4a
1ea203b
51a43b7
58f0d1d
8048acd
0693c96
70d8736
5161fa0
f520909
af6e587
5177fb2
5b79c52
ef6c10c
b053297
a251a27
03e0981
5590fc2
77fd910
cb55f8e
83ba2c6
783d546
e2502cf
4040dee
5311e06
7c46fb3
55a42a7
cb67d0d
7e592a8
af9ba3f
0e50366
99830d7
e516f02
265d640
7fe14d5
cf773cc
6a2a671
76b6b8d
5d9ec67
dbf6a82
ff6ab29
3b770e1
a344833
7472cd9
d4e4d23
ec4f002
803d917
9db5d3b
6d14bde
5bbfc76
eaaf75f
88a5c6e
144f653
2affadd
99e841b
7b0ac1a
79d851f
d64d8c1
c9c3ec4
04c3e00
3f38b8e
9350b59
a9e3f2c
fd8dfec
ebedd21
25093e9
561d345
d9aff5a
0c368c9
928baea
b4bee38
b803343
c12b707
14becc3
ba9bd5f
65dad41
7ec90cb
d4077ef
3e85ff0
7a345d9
b527488
0f6619b
def8cc1
5c34704
f1c14d6
63b0a69
c37d7ac
0c6bede
c9ff3a6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -139,6 +139,22 @@ else() | |
| endif() | ||
| endif() | ||
|
|
||
| # BTAS for dense tensor contraction in DUCC; must follow MACIS to reuse its BLAS and blaspp/lapackpp. | ||
| find_package(BTAS QUIET) | ||
| if(NOT BTAS_FOUND) | ||
| include(FetchContent) | ||
| FetchContent_Declare(BTAS | ||
| GIT_REPOSITORY https://github.com/BTAS/btas.git | ||
| GIT_TAG 287b145ead818a0332f2b7ce0b7375a83d328bae | ||
| ) | ||
| # BTAS's linalg kit force-writes the BUILD_TESTING it sees back into the cache. | ||
| set(_qdk_build_testing "${BUILD_TESTING}") | ||
| set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree." FORCE) | ||
| FetchContent_MakeAvailable(BTAS) | ||
| set(BUILD_TESTING "${_qdk_build_testing}" CACHE BOOL "Build the testing tree." FORCE) | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could this preserve whether BUILD_TESTING was originally undefined, rather than only preserving its value? Restoring an empty saved value appears to create a cache entry, which prevents include(CTest) from establishing its usual ON default. As a result, tests can be silently omitted from the build. |
||
| add_library(BTAS::BTAS ALIAS BTAS) | ||
| endif() | ||
|
agamshayit-ms marked this conversation as resolved.
|
||
|
|
||
| # Enable CUDA for GPU bindings in QDK Chemistry | ||
| if(QDK_CHEMISTRY_ENABLE_GPU) | ||
| enable_language(CUDA) | ||
|
|
@@ -167,6 +183,9 @@ target_link_libraries(chemistry PUBLIC | |
| macis::macis | ||
| ) | ||
|
|
||
| # Header-only and absent from public headers, so keep BTAS out of the export. | ||
| target_link_libraries(chemistry PRIVATE $<BUILD_INTERFACE:BTAS::BTAS>) | ||
|
agamshayit-ms marked this conversation as resolved.
|
||
|
|
||
| # Conditionally link OpenMP | ||
| if(QDK_ENABLE_OPENMP) | ||
| if(TARGET OpenMP::OpenMP_CXX) | ||
|
|
||
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.
Could
BTASuse the normal dependency gate, or be installed through the Windows dependency script?The Windows jobs configure with
QDK_ALLOW_DEPENDENCY_FETCH=OFF, but this directFetchContent_MakeAvailable()appears to bypass that mechanism. As a result, a clean offline/no-fetch configuration still tries to downloadBTASfrom GitHub.