@@ -4,20 +4,30 @@ Install in "development/editable" mode including dev/test dependencies:
44
55``` sh
66git clone https://github.com/AMYPAD/CuVec && cd CuVec
7- export SETUPTOOLS_ENABLE_FEATURES=legacy-editable
8- pip install -e .[dev]
7+
8+ # `pip install -e .[dev]` won't work due to https://github.com/scikit-build/scikit-build-core/issues/114
9+ # work-around:
10+ # 1. install dependencies (one-off)
11+ pip install toml
12+ python -c ' import toml; c=toml.load("pyproject.toml")
13+ print("\0".join(c["build-system"]["requires"] + c["project"]["dependencies"] + c["project"]["optional-dependencies"]["dev"]), end="")' \
14+ | xargs -0 pip install -U ninja cmake
15+ # 2. delete build artefacts, (re)build & install in-place with debug info
16+ git clean -Xdf
17+ pip install --no-build-isolation --no-deps -t . -U -v . \
18+ -Ccmake.define.CUVEC_DEBUG=1
19+ -Ccmake.define.CMAKE_CXX_FLAGS=" -Wall -Wextra -Wpedantic -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-cast-function-type"
20+ git restore cuvec/src # undo deletion of sources
921```
1022
11- Alternatively, if ` cmake ` and a generator (such as ` make ` or ` ninja ` ) are
12- available, then ` setup.py build ` and ` develop ` can be explicitly called;
13- optionally with extra ` cmake ` and generator arguments:
23+ Once installed in development/editable mode, tests may be run using:
1424
1525``` sh
16- python setup.py build develop easy_install cuvec[dev] -- -DCUVEC_DEBUG:BOOL=ON -- -j8
26+ pytest
1727```
1828
19- Once installed in development/editable mode, tests may be run using :
29+ To run performance tests, build with debugging disabled ( ` CUVEC_DEBUG=0 ` ), then run :
2030
2131``` sh
22- pytest
32+ python tests/test_perf.py
2333```
0 commit comments