Skip to content

Commit

Permalink
Merge pull request #314 from OrderN/release-1.3
Browse files Browse the repository at this point in the history
Release 1.3
  • Loading branch information
davidbowler authored Feb 29, 2024
2 parents 6bf8f4a + 20cf4a9 commit f424a27
Show file tree
Hide file tree
Showing 83 changed files with 548,656 additions and 1,094 deletions.
67 changes: 56 additions & 11 deletions .github/workflows/makefile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,73 @@ on:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
# Manual dispatch for including all multiply kernels in matrix.
# We don't want this to run on every commit, but it's useful
# to be able to launch it manually
workflow_dispatch:
inputs:
multiply_kernel_test:
description: 'test all multiply kernels, instead of default only'
required: false
default: false

jobs:
build:
name: ${{matrix.fc}} -- ${{matrix.os}} -- np = ${{matrix.np}}
name: ${{matrix.fc}} -- ${{matrix.os}} -- ${{matrix.multiply_kernel}} multiply kernel -- ${{matrix.np}} processes -- ${{matrix.threads}} threads
runs-on: ${{matrix.os}}
env:
FC: ${{matrix.fc}}
F77: mpif77
OMP_NUM_THREADS: ${{matrix.threads}}
OPENBLAS_NUM_THREADS: 1
OMP_STACKSIZE: 100M
strategy:
fail-fast: false
matrix:
os:
# We could add ubuntu-latest but until 2024 it will be the same as 22.04
- ubuntu-22.04
fc:
# the mpifort wrapper is recommended instead of mpif90 by openmpi. Including
# both here in case they do something differently.
#
# TODO: We could also build with `intel-oneapi-compiler-fortran`, it is available
# for installation from Intel through their apt repository.
- mpifort
- mpif90
np:
- 1
- 2
threads:
- 1
- 2
# TODO: Could be worth testing on `mpich` in addition to `openmpi-bin`. Both are
# available in apt
multiply_kernel:
- default
- gemm
- ompDoii
- ompDoik
- ompDoji
- ompDojk
- ompGemm
- ompGemm_m
# As a work-around, copy the multiply_kernel_test variable to the matrix and
# exclude non-default multiply kernels when it's false
# https://github.com/orgs/community/discussions/26253#discussioncomment-3250989
test_all_multiply_kernels:
- ${{github.event.inputs.multiply_kernel_test}}
exclude:
- test_all_multiply_kernels: false
multiply_kernel: gemm
- test_all_multiply_kernels: false
multiply_kernel: ompDoii
- test_all_multiply_kernels: false
multiply_kernel: ompDoik
- test_all_multiply_kernels: false
multiply_kernel: ompDoji
- test_all_multiply_kernels: false
multiply_kernel: ompDojk
- test_all_multiply_kernels: false
multiply_kernel: ompGemm
- test_all_multiply_kernels: false
multiply_kernel: ompGemm_m

steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -60,21 +100,26 @@ jobs:
- name: Build
working-directory: ${{github.workspace}}/src
run: |
cp gha.make system.make
make -j ${{matrix.np}}
make -j ${{matrix.np}} SYSTEM=gha MULT_KERN=${{matrix.multiply_kernel}}
- name: Run test 001
working-directory: ${{github.workspace}}/testsuite/test_001_bulk_Si_1proc_Diag
run: mpirun -np ${{matrix.np}} ../../bin/Conquest
run: |
mpirun -np ${{matrix.np}} ../../bin/Conquest
cat Conquest_out
- name: Run test 002
working-directory: ${{github.workspace}}/testsuite/test_002_bulk_Si_1proc_OrderN
run: mpirun -np ${{matrix.np}} ../../bin/Conquest
run: |
mpirun -np ${{matrix.np}} ../../bin/Conquest
cat Conquest_out
- name: Run test 003
working-directory: ${{github.workspace}}/testsuite/test_003_bulk_BTO_polarisation
run: mpirun -np ${{matrix.np}} ../../bin/Conquest

run: |
mpirun -np ${{matrix.np}} ../../bin/Conquest
cat Conquest_out
- name: Check test results
working-directory: ${{github.workspace}}/testsuite
run: pytest test_check_output.py
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
bin/*
deps.obj.inc
*~
*~
src/system/system.make
6 changes: 5 additions & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@
# Required
version: 2

build:
os: ubuntu-22.04
tools:
python: "3.12"

# Build documentation in the docs/ directory with Sphinx
#sphinx:
# configuration: docs/CONQUEST-manual/conf.py
Expand All @@ -14,6 +19,5 @@ formats: all

# Optionally set the version of Python and requirements required to build your docs
python:
version: 3.7
install:
- requirements: docs/requirements.txt
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ DOI for the specific version you have used in any given study.

## Version number

CONQUEST is now at version 1.2 (tag:v1.2)
CONQUEST is now at version 1.3 (tag:v1.3)
14 changes: 14 additions & 0 deletions benchmarks/K222_G200/Conquest_input
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
AtomMove.TypeOfRun static
IO.Coordinates coords.dat
IO.Iprint 0
IO.WriteOutToFile F
General.CheckDFT T
Grid.GridCutoff 200
Diag.MPMesh T
Diag.MPMeshX 2
Diag.MPMeshY 2
Diag.MPMeshZ 2
General.NumberOfSpecies 1
%block ChemicalSpeciesLabel
1 28.086 Si
%endblock
Loading

0 comments on commit f424a27

Please sign in to comment.