Skip to content

Commit

Permalink
Merge branch 'james-d-mitchell-rc-v1.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
hivert committed Dec 20, 2023
2 parents 2646686 + 836fd8d commit 4dd11b9
Show file tree
Hide file tree
Showing 121 changed files with 758,561 additions and 6,195 deletions.
1 change: 0 additions & 1 deletion .VERSION

This file was deleted.

106 changes: 106 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# .circleci/config.yml

version: 2.1

jobs:
test:
parameters:
compiler:
type: string
version:
type: string
docker:
- image: reiniscirpons/hpcombi-env-arm64v8:v1
resource_class: arm.medium
steps:
- run:
name: "Set up compiler"
environment:
COMPILER_NAME: << parameters.compiler >>
COMPILER_VERSION: << parameters.version >>
command: |
apt-get --yes update
mkdir -p workspace
if [ $COMPILER_NAME = "gcc" ]; then
apt-get install --yes gcc-$COMPILER_VERSION
apt-get install --yes g++-$COMPILER_VERSION
echo "export CC=gcc-$COMPILER_VERSION" >> workspace/new-env-vars
echo "export CXX=g++-$COMPILER_VERSION" >> workspace/new-env-vars
else
apt-get install --yes clang++-$COMPILER_VERSION
echo "export CC=clang-$COMPILER_VERSION" >> workspace/new-env-vars
echo "export CXX=clang++-$COMPILER_VERSION" >> workspace/new-env-vars
fi
- run:
name: Check compiler version
command: |
cat workspace/new-env-vars >> $BASH_ENV
source $BASH_ENV
echo "CC"
echo $CC
echo "CXX"
echo $CXX
- checkout:
path: "./HPCombi"
- run:
name: Run cmake
command: |
cat workspace/new-env-vars >> $BASH_ENV
source $BASH_ENV
mkdir -p ./HPCombi/build
cd ./HPCombi/build
cmake -DBUILD_TESTING=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=$CC -DCMAKE_CXX_COMPILER=$CXX ..
- run:
name: Run make in tests folder
command: |
cat workspace/new-env-vars >> $BASH_ENV
source $BASH_ENV
cd ./HPCombi/build/tests
make -j2
- run:
name: Run tests
command: |
cat workspace/new-env-vars >> $BASH_ENV
source $BASH_ENV
cd ./HPCombi/build/tests
./test_all
workflows:
test:
jobs:
- test:
name: "test-gcc-9"
compiler: "gcc"
version: "9"
# - test:
# name: "test-gcc-10"
# compiler: "gcc"
# version: "10"
# - test:
# name: "test-gcc-11"
# compiler: "gcc"
# version: "11"
- test:
name: "test-gcc-12"
compiler: "gcc"
version: "12"
- test:
name: "test-clang-11"
compiler: "clang"
version: "11"
# - test:
# name: "test-clang-12"
# compiler: "clang"
# version: "12"
# - test:
# name: "test-clang-13"
# compiler: "clang"
# version: "13"
# - test:
# name: "test-clang-14"
# compiler: "clang"
# version: "14"
- test:
name: "test-clang-15"
compiler: "clang"
version: "15"
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AccessModifierOffset: -3
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
Expand Down
3 changes: 3 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[codespell]
skip = ./third_party/simde,./.git,./benchmark/python,./experiments,./gh-pages,./build
ignore-words-list=shft
9 changes: 9 additions & 0 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: codespell
on: [pull_request, workflow_dispatch]

jobs:
codespell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: codespell-project/[email protected]
75 changes: 51 additions & 24 deletions .github/workflows/runtests.yml
Original file line number Diff line number Diff line change
@@ -1,40 +1,67 @@
name: CI
on: [pull_request, push, workflow_dispatch]
on: [pull_request, workflow_dispatch]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
tests:
name: "ubuntu-latest | g++"
name: "ubuntu-latest"
timeout-minutes: 60
runs-on: ubuntu-latest
env:
CXX: "ccache g++"
CXXFLAGS: "-fdiagnostics-color"
CMAKE_CXX_COMPILER: "ccache g++"
strategy:
fail-fast: false
matrix:
sys:
- { compiler: 'gcc', version: '9'}
- { compiler: 'gcc', version: '10'}
- { compiler: 'gcc', version: '11'}
- { compiler: 'gcc', version: '12'}
- { compiler: 'clang', version: '11'}
- { compiler: 'clang', version: '12'}
- { compiler: 'clang', version: '13'}
- { compiler: 'clang', version: '14'}
- { compiler: 'clang', version: '15'}
steps:
- name: "Checkout HPCombi repo . . ."
uses: actions/checkout@v3
- name: "Setup ccache . . ."
uses: Chocobo1/setup-ccache-action@v1
with:
update_packager_index: false
override_cache_key: ${{ runner.os }}-${{ github.ref }}
override_cache_key_fallback: ${{ runner.os }}
- name: "Setup compiler . . ."
if: ${{ matrix.sys.compiler == 'gcc' }}
run: |
GCC_VERSION=${{ matrix.sys.version }}
sudo apt-get --yes update
sudo apt-get install gcc-$GCC_VERSION
CC=gcc-$GCC_VERSION
echo "CC=$CC" >> $GITHUB_ENV
CXX=g++-$GCC_VERSION
echo "CXX=$CXX" >> $GITHUB_ENV
- name: "Setup compiler . . ."
if: ${{ matrix.sys.compiler == 'clang' }}
run: |
LLVM_VERSION=${{ matrix.sys.version }}
sudo apt-get --yes update
sudo apt-get install --yes clang++-$LLVM_VERSION
CC=clang-$LLVM_VERSION
echo "CC=$CC" >> $GITHUB_ENV
CXX=clang++-$LLVM_VERSION
echo "CXX=$CXX" >> $GITHUB_ENV
- name: "Install dependencies . . ."
run: |
sudo apt-get --yes update
sudo apt-get install --yes ccache
sudo apt-get install --yes libbenchmark-dev
sudo apt-get install --yes libgtest-dev
sudo apt-get install --yes libboost-all-dev
- name: "Build + run HPCombi tests . . ."
sudo apt-get install --yes ccache
- name: "Configure the HPCombi build . . ."
env:
CC: ${{ env.CC }}
CXX: ${{ env.CXX }}
run: |
mkdir build
cd build
cmake -DBUILD_TESTING=1 -DCMAKE_BUILD_TYPE=Release ..
make
make test
mkdir build
cd build
cmake -DBUILD_TESTING=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=$CC -DCMAKE_CXX_COMPILER=$CXX ..
- name: "Build HPCombi . . ."
run: |
cd build/tests
make -j4
- name: "Run HPCombi tests . . ."
run: |
cd build/tests
./test_all
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,4 @@

TAGS
build*
gh-pages
6 changes: 6 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Florent Hivert <[email protected]> Florent Hivert <[email protected]>
Florent Hivert <[email protected]> Florent Hivert <[email protected]>
Florent Hivert <[email protected]> Florent Hivert <[email protected]>
Reinis Cirpons <[email protected]> reiniscirpons <[email protected]>
Reinis Cirpons <[email protected]> Reinis Cirpons <[email protected]>
James Mitchell <[email protected]> James Mitchell <[email protected]>
107 changes: 0 additions & 107 deletions .travis.yml

This file was deleted.

25 changes: 13 additions & 12 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
# Building HPCombi

## Build Prerequisites:
Note that HPCombi is a C++17 header-only library, and as such does not need to
be built. The instructions below are only for those who wish to either run the
tests, experiments, examples, or benchmarks.

- CMake 2.8 or later
## Build prerequisites:

- A recent c++ compiler. I have tested the code on
* g++ 5.3.1, 6.2.1 and 7.1.1.
* clang 5.0.0
* g++ 4.8 and 4.9 are known to be broken (I can fix it if needed at the price
of some uglification of the code).
- CMake 3.8 or later

- [optional] : Google sparsehash/dense_hash_map, sparsehash/dense_hash_set.
if not the less efficient standard containers will be used.
- A recent C++ compiler implementing the C++17 standard. We routinely test
HPCombi using:
* gcc 9 to 12; and
* clang 11 to 15
on both x86 and arm processors.

- BOOST.test (shared library version) : needed for testing.
- Your machine must support a small number of builtin functions such as `__builtin_popcnt`.

- Your machine must support AVX instructions.
- [optional] : Google `sparsehash/dense_hash_map` and/or `sparsehash/dense_hash_set`.

- Doxygen for generating the API documentation (in progress).
- [optional] Doxygen for generating the API documentation (in progress).

## Building

Expand Down
Loading

0 comments on commit 4dd11b9

Please sign in to comment.