-
Notifications
You must be signed in to change notification settings - Fork 758
Add rudimentary CMake support for Feta #1102
Conversation
1f4da0d
to
a6b2bfb
Compare
I don't know Cmake, so I can't do a meaningful review of most of the change. But I did spot what looks like several incorrect compiler arguments. |
a6b2bfb
to
bb3316b
Compare
Can everyone please re-review, I've made some updates. |
bb3316b
to
f66578d
Compare
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.
Looks good to me now. I'll do some sanity checks with my preexisting scripts to see if all's good.
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.
Hang on, my scripts no longer set the CUDA host compiler correctly (and I'm passing it via env variable CXX
). Don't merge while I investigate.
f66578d
to
42e44a0
Compare
I really dislike the pattern of changing the compiler variables programmatically for the reasons mentioned inline. But since we already do that, I wouldn't hold this PR up over it, we can address that later in the eventual CMake refactor. The other suggestion about the arch option is a "nice to know" low priority QOL change that can be skipped for now. I assume most of these hacks are temporary until we get proper CMake support for Feta, so if it works for feta and doesn't break existing usecases, I'm ok with merging. |
Until CMake has first class support for Feta, we probably can't avoid this. |
42e44a0
to
b7b0cb1
Compare
b7b0cb1
to
3689112
Compare
CMakeLists.txt
Outdated
@@ -404,6 +480,11 @@ target_include_directories( | |||
PRIVATE ${PROJECT_SOURCE_DIR}/testing | |||
) | |||
|
|||
if ("Feta" STREQUAL "${CMAKE_CUDA_COMPILER_ID}") |
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.
We need to only take this branch if the device backend is CUDA.
e5daaa4
to
d359d02
Compare
* Refactor RDC handling to not create separate explicit targets. * Drive-by: Don't use the NVCC version of `normal_distribution_base` for Feta because it uses `erfcinv`, a non-standard function that Feta doesn't have. Reviewed-by: Allison Vacanti <[email protected]> Reviewed-by: Michał 'Griwes' Dominiak <[email protected]> Reviewed-by: David Olsen <[email protected]>
d359d02
to
a2a85bf
Compare
No description provided.