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

Make arbor-build-catalogue part of pyarb. #2416

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

thorstenhater
Copy link
Contributor

@thorstenhater thorstenhater commented Sep 26, 2024

Integrate a-b-c into Arbor's Python bindings.

Currently, this is not officially supported, thus undocumented, due to the rather crude interface.
I do plan on changing this, though, in the midterm future, and make both a-b-c and modcc callable
as Python functions. For now these modules just serve as entry points for pyproject / pip.

No longer use (and install) BuildModules.cmake in a-b-c.

Skip tests requiring a dynamic catalogue if it cannot be built. Most likely these issue occur due to the
dependency of Tests > a-b-c > CMake Install

Closes #2395

Comment on lines +39 to +57
@property
def bin(self):
return self._bin

@bin.setter
def bin(self, val):
self._pakdir = None
self._bindir = None
self._bin = val

@property
def lib(self):
return self._lib

@lib.setter
def lib(self, val):
self._pakdir = None
self._bindir = None
self._lib = val
Copy link
Contributor

Choose a reason for hiding this comment

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

_bin -> bin, _lib -> lib?


def make_gpu_support(gpu, cxx):
if gpu == "cuda":
gpu_support = f"""
include(FindCUDAToolkit)
add_compile_definitions(ARB_CUDA)
add_compile_definitions(ARB_HAVE_GPU)
find_package(CUDAToolkit)
enable_language(CUDA)
set(CMAKE_CUDA_STANDARD 14)
Copy link
Contributor

Choose a reason for hiding this comment

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

CMAKE_CUDA_STANDARD 17?

print("CUDA-Clang support is currently considered experimental only.")
gpu_support = f"""
elif gpu == "cuda-clang":
gpu_support = f"""
add_compile_definitions(ARB_CUDA)
add_compile_definitions(ARB_HAVE_GPU)
find_package(CUDAToolkit)
enable_language(CUDA)
set(CMAKE_CUDA_STANDARD 14)
Copy link
Contributor

Choose a reason for hiding this comment

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

CMAKE_CUDA_STANDARD 17?

add_compile_definitions(ARB_CUDA)
add_compile_definitions(ARB_HAVE_GPU)
find_package(CUDAToolkit)
enable_language(CUDA)
set(CMAKE_CUDA_STANDARD 14)
add_compile_options(-xcuda --cuda-gpu-arch=sm_60 --cuda-gpu-arch=sm_70 --cuda-gpu-arch=sm_80 --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}))
add_compile_options(-xcuda --cuda-gpu-arch=sm_60 --cuda-gpu-arch=sm_70 --cuda-gpu-arch=sm_80 --cuda-path=${{CUDA_TOOLKIT_ROOT_DIR}}))
Copy link
Contributor

Choose a reason for hiding this comment

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

probably worth to add sm_90

Copy link
Contributor

Choose a reason for hiding this comment

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

I thought I commented on this file already, but seems my comment has evaporated... Anyhow: I am not fond of the long inline CMake strings in here - ideally we should have a single source of truth so a) we don't diverge and b) we can test. Not sure how feasible this is, though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Please document how to run Python tests
2 participants