-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This fixes cmake for permutation in HyKKT (#209)
* added new permutation kernels * edited cmake * added Hello world tests * added Hello world tests * resolved conflict * hykkt hello world working, working on linking for permutation * resolved conflict * Ignore files in resolve/hybrid dir. * Remove cpu subdirectory in hykkt dir. * hykkt lib builds. * Fix issues in CMake related to HyKKT build. * resolved conflict * HyKKT permutation test works. * modifications for CUDA * removed extraneous tests * reformatted according to contributing guidelines * fixed straggling old names * stash * fixed capitalization for selectionSort2 * fixed capitalization for selectionSort2 * doesn't add hykkt if not using suitesparse * doesn't add hykkt if not using suitesparse * added namespaces and capitalized enums * fixed naming * function alignment * namespace fixes, const where possible * Fix issue with linking workspace to HyKKT. (#211) * Coding style suggestions (#213) * Coding style suggestions. * added param in/out * Style suggestions for permutation tests. * Some more doxygen formatting. --------- Co-authored-by: shakedregev <shakedvregev@gmail.com> * added requested changes * addressed Doxygen comment issues --------- Co-authored-by: Slaven Peles <peless@ornl.gov>
- Loading branch information
1 parent
571d13b
commit 393fa92
Showing
12 changed files
with
978 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,3 +15,4 @@ spack-configure-* | |
docs/dox.warnings | ||
docs/@dox_output_dir@axom.tag | ||
docs/html | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
#[[ | ||
@brief Build ReSolve matrix module | ||
@author Slaven Peles <peless@ornl.gov> | ||
]] | ||
|
||
# C++ code | ||
set(HyKKT_SRC | ||
Permutation.cpp | ||
cpuPermutationKernels.cpp | ||
) | ||
|
||
# C++ code that depends on CUDA SDK libraries | ||
set(HyKKT_CUDASDK_SRC | ||
) | ||
|
||
# and on HIP | ||
set(HyKKT_ROCM_SRC | ||
) | ||
|
||
# Header files to be installed | ||
set(HyKKT_HEADER_INSTALL | ||
Permutation.hpp | ||
cpuPermutationKernels.hpp | ||
) | ||
|
||
# Build shared library ReSolve::matrix | ||
add_library(resolve_hykkt SHARED ${HyKKT_SRC}) | ||
target_link_libraries(resolve_hykkt PUBLIC resolve_logger resolve_vector ${suitesparse_amd}) | ||
target_include_directories(resolve_hykkt PUBLIC ${SUITESPARSE_INCLUDE_DIR}) | ||
|
||
# Link to CUDA ReSolve backend if CUDA is support enabled | ||
if (RESOLVE_USE_CUDA) | ||
target_sources(resolve_hykkt PRIVATE ${HyKKT_CUDASDK_SRC}) | ||
target_link_libraries(resolve_hykkt PUBLIC resolve_backend_cuda) | ||
endif() | ||
|
||
if (RESOLVE_USE_HIP) | ||
target_sources(resolve_hykkt PRIVATE ${HyKKT_ROCM_SRC}) | ||
target_link_libraries(resolve_hykkt PUBLIC resolve_backend_hip) | ||
endif() | ||
|
||
# Link to dummy device backend if GPU support is not enabled | ||
if (NOT RESOLVE_USE_GPU) | ||
target_link_libraries(resolve_hykkt PUBLIC resolve_backend_cpu) | ||
endif() | ||
|
||
target_link_libraries(resolve_hykkt PUBLIC resolve_workspace) | ||
|
||
target_include_directories(resolve_hykkt INTERFACE | ||
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}> | ||
$<INSTALL_INTERFACE:include> | ||
) | ||
|
||
install(FILES ${HyKKT_HEADER_INSTALL} DESTINATION include/resolve/hykkt) |
Oops, something went wrong.