- Nov 28, 2022
-
-
Thorsten Hater authored
Switch XML parser to pugixml; one less runtime dependency and one less blocker to WASM via emscripten.
-
- Oct 27, 2022
-
-
Thorsten Hater authored
Closes #1861 Closes #1783 - arbor-build-catalogue (a-b-c) does no longer need to be in a fixed location - nor do we statically fix the configuration for a-b-c - instead, we rely on `arbor.config` to read the relevant default values - each value can be overriden, if desired - added many more values to the configuration - gpu type and arch - paths and prefix - CXX - report default settings for better diagnosis - implement a fallback for prefix if that does not exist; in particular for the amazing skbuild. In essence you can now use a-b-c as a standalone tool, as long as you have a properly configured py-arbor. Example output after removing `_skbuild` ``` Warning: prefix '/Users/hater/src/arbor/_skbuild/macosx-11.0-x86_64-3.10/cmake-install' does not exist, falling back to '/Users/hater/src/arbor/.direnv/python-3.10.6'. usage: arbor-build-catalogue catalogue_name mod_source_dir Generate dynamic catalogue and build it into a shared object. positional arguments: name Catalogue name. modpfx Directory name where *.mod files live. options: --raw raw [raw ...] Advanced: Raw mechanisms as C++ files. Per <name> the files <name>.hpp, <name>_cpu.cpp (if CPU is enabled) must be present in the target directory and with GPU support also <name>_gpu.cpp and <name>_gpu.cu. -v, --verbose Verbose. -q, --quiet Less output. --cpu CPU Enable CPU support. --debug [path] Don't clean up the generated temp cpp code. Can be a target path for the generated code. --gpu gpu Enable GPU support --gpu-arch gpu_arch Enable GPU support; default=- --cxx cxx Use this C++ compiler; default=/usr/local/opt/llvm/bin/clang++. --prefix prefix Arbor's install prefix; default=/Users/hater/src/arbor/.direnv/python-3.10.6. --bin bin Look here for Arbor utils like modcc; relative to prefix, default=bin. --lib lib Look here for Arbor's CMake config; relative to prefix, default=lib. --data data Look here for Arbor supplementals like generate_catalogue; relative to prefix, default=lib -h, --help Display this help and exit. ```
-
- Sep 20, 2022
-
-
Thorsten Hater authored
* Add pybind11 version to config. * Add version check for PB11. * Bump CMake a tiny bit.
-
- Jan 24, 2022
-
-
Thorsten Hater authored
- build-catalogue - now installed by pip - enable GPU-backends - isolate from being installed in a non-default dir - rename to arbor-build-catalogue - allow hand-written C++ mechanisms to be linked in the same catalogue. - CMake - enable PIC on arbor always to allow linking to shared objects - use relative paths when configuring a-b-c, to make relocation less of a problem - Python - ensure a-b-c is installed by pip, along with headers and libarbor.a - throw errors if tools (cmake scripts, arbor package, modcc) missing - transition setup.py setuptools -> skbuild. - Wheels - Add NML2 support to wheels - scripts/build-wheels.sh builds wheels, in principle valid for submission to PyPI, on your own hardware. This should be kept in sync with .github/workflows/ciwheel.yml - scripts/patchwheel.py corrects the rpath in the libraries in the wheels, working around a bad interplay between auditwheel and skbuild, see pypa/auditwheel#363 - Python Wheels are tested as part of the Github Action - Add nml and bundled status to config().
-
- Oct 07, 2021
-
-
Robin De Schepper authored
Adds the `profiler_initialize(ctx)` and `profiler_summary()` functions to the Python module and the `profiling` key to `arbor.config()`. closes #1685.
-
- May 15, 2020
-
-
Benjamin Cumming authored
* Add VECTORIZE configuration feature macro to config, record in python lib. * Add ARB_ARCH configuration string as preprocessor define and character string in config and version info respectively.
-
- Aug 16, 2019
-
-
- wraps `partition_hint` struct for python - `partition_hint`struct in `load_balance.hpp` is adjusted in a way that in case of zero unsigned int `cpu_group_size`/`gpu_group_size` it is set to the default value (via setter/getter) - adds documentation for `partition_hint` - adds testing for `domain_decomposition` including `partition_hint` (in unit and unit_distributed) - adds `partition_hint` in example `ring.py` - corrects `config.cpp` (and doc) to test for `ARB_GPU_ENABLED` instead of `ARB_WITH_GPU` Fixes #776 Addresses #799, #769
-
- Jun 07, 2019
-
-
Domain decomposition in python wrapper * functions: `partition_load_balance` * types: `group_description` and `domain_decomposition` Also includes * remove comment that `gid` in a `group_description` must be sorted. * a host of small clean ups of python wrapper Fixes #761
-
- May 09, 2019
-
-
Wrapped the following C++ features in Python: - Identifiers (`cell_member`) + according tests - `event_generator` and schedules (`regular_schedule`, `explicit_schedule`, `poisson_schedule`) + according tests
-
- Mar 01, 2019
-
-
Remove old code and comments from Python config code.
-
Fixes #700 Usage in python as: ``` >>>import arbor >>>arbor.config() {'mpi': True, 'mpi4py': True, 'gpu': False, 'version': '0.1.1-dev'} >>>d = arbor.config() >>>arbor.print_config(d) Arbor's configuration: mpi : True mpi4py : True gpu : False version: 0.1.1-dev ```
-