Skip to content

Commit ed90cc3

Browse files
committed
Merge branch 'main' into natalie/multiprec-vec
2 parents df27fe0 + fe329bd commit ed90cc3

File tree

170 files changed

+6289
-2173
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+6289
-2173
lines changed

.github/workflows/c-fortran-test-linux-osx.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ jobs:
2020
CC: ${{ matrix.compiler }}
2121
FC: gfortran-9
2222
run: |
23+
make -v
2324
make info
2425
make -j2
2526
PROVE_OPTS=-v make prove -j2

.gitlab-ci.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ noether-cpu:
5555
- export COVERAGE=0
5656
- cd .. && export NEK5K_VERSION=Nek5000-19.0 && { [[ -d $NEK5K_VERSION ]] || { git clone --depth 1 --branch v19.0 https://github.com/Nek5000/Nek5000.git $NEK5K_VERSION && cd $NEK5K_VERSION/tools && ./maketools genbox genmap reatore2 && cd ../..; }; } && export NEK5K_DIR=$PWD/$NEK5K_VERSION && export PATH=$NEK5K_DIR/bin:$PATH MPI=0 && cd libCEED
5757
- echo "-------------- Nek5000 -------------" && git -C $NEK5K_DIR describe --tags
58-
- make -k -j$NPROC_CPU BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="cpu" junit search=nek
58+
- make -k -j$NPROC_CPU BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="cpu" junit search=nek NEK5K_DIR=$NEK5K_DIR
5959
# Clang-tidy
6060
- echo "-------------- clang-tidy ----------" && clang-tidy --version
6161
- TIDY_OPTS="-fix-errors" make -j$NPROC_CPU tidy && git diff --exit-code
@@ -123,7 +123,7 @@ noether-rocm:
123123
- export COVERAGE=0
124124
- cd .. && export NEK5K_VERSION=Nek5000-19.0 && { [[ -d $NEK5K_VERSION ]] || { git clone --depth 1 --branch v19.0 https://github.com/Nek5000/Nek5000.git $NEK5K_VERSION && cd $NEK5K_VERSION/tools && ./maketools genbox genmap reatore2 && cd ../..; }; } && export NEK5K_DIR=$PWD/$NEK5K_VERSION && export PATH=$NEK5K_DIR/bin:$PATH MPI=0 && cd libCEED
125125
- echo "-------------- Nek5000 -------------" && git -C $NEK5K_DIR describe --tags
126-
- make -k -j$NPROC_GPU BACKENDS="$BACKENDS_GPU" JUNIT_BATCH="hip" junit search=nek
126+
- make -k -j$NPROC_GPU BACKENDS="$BACKENDS_GPU" JUNIT_BATCH="hip" junit search=nek NEK5K_DIR=$NEK5K_DIR
127127
# Clang-tidy
128128
- echo "-------------- clang-tidy ----------" && clang-tidy --version
129129
- TIDY_OPTS="-fix-errors" make -j$NPROC_CPU tidy && git diff --exit-code
@@ -240,8 +240,7 @@ lv-cuda:
240240
# -- PETSc with CUDA (minimal)
241241
- export PETSC_DIR=/home/jeth8984/petsc PETSC_ARCH=cuda-O && git -C $PETSC_DIR describe
242242
- echo "-------------- PETSc ---------------" && make -C $PETSC_DIR info
243-
# Note: Skipping fluids and solids due to CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES on RTX 2080 Super
244-
- nice make -k -j$NPROC_GPU JUNIT_BATCH="cuda" junit BACKENDS="$BACKENDS_GPU" search="petsc"
243+
- nice make -k -j$NPROC_GPU JUNIT_BATCH="cuda" junit BACKENDS="$BACKENDS_GPU" search="petsc fluids solids"
245244
# Report status
246245
- touch .SUCCESS
247246
after_script:

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cff-version: 1.2.0
22
title: "libCEED: Efficient Extensible Discretization"
3-
version: 0.10.0
3+
version: 0.10.1
44
date-released: 2021-07-07
55
license: BSD-2-Clause
66
message: "Please cite the following works when using this software."

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = libCEED
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = v0.10.0
41+
PROJECT_NUMBER = v0.10.1
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

Makefile

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,9 @@ CEED_LDFLAGS += $(if $(ASAN),$(AFLAGS))
151151
CPPFLAGS += -I./include
152152
CEED_LDLIBS = -lm
153153
OBJDIR := build
154-
LIBDIR := lib
154+
for_install := $(filter install,$(MAKECMDGOALS))
155+
LIBDIR := $(if $(for_install),$(OBJDIR),lib)
156+
155157

156158
# Installation variables
157159
prefix ?= /usr/local
@@ -180,7 +182,7 @@ libceed.so := $(LIBDIR)/libceed.$(SO_EXT)
180182
libceed.a := $(LIBDIR)/libceed.a
181183
libceed := $(if $(STATIC),$(libceed.a),$(libceed.so))
182184
CEED_LIBS = -lceed
183-
libceed.c := $(filter-out interface/ceed-cuda.c interface/ceed-hip.c, $(wildcard interface/ceed*.c backends/*.c gallery/*.c))
185+
libceed.c := $(filter-out interface/ceed-cuda.c interface/ceed-hip.c interface/ceed-jit-source-root-$(if $(for_install),default,install).c, $(wildcard interface/ceed*.c backends/*.c gallery/*.c))
184186
gallery.c := $(wildcard gallery/*/ceed*.c)
185187
libceed.c += $(gallery.c)
186188
libceeds = $(libceed)
@@ -624,9 +626,14 @@ $(OBJDIR)/ceed.pc : pkgconfig-prefix = $(prefix)
624626
-e "s:%prefix%:$(pkgconfig-prefix):" \
625627
-e "s:%libs_private%:$(pkgconfig-libs-private):" $< > $@
626628

629+
$(OBJDIR)/interface/ceed-jit-source-root-default.o : CPPFLAGS += -DCEED_JIT_SOUCE_ROOT_DEFAULT="\"$(abspath ./include)/\""
630+
$(OBJDIR)/interface/ceed-jit-source-root-install.o : CPPFLAGS += -DCEED_JIT_SOUCE_ROOT_DEFAULT="\"$(abspath $(includedir))/\""
631+
627632
install : $(libceed) $(OBJDIR)/ceed.pc
628633
$(INSTALL) -d $(addprefix $(if $(DESTDIR),"$(DESTDIR)"),"$(includedir)"\
629-
"$(includedir)/ceed/" "$(libdir)" "$(pkgconfigdir)")
634+
"$(includedir)/ceed/" "$(includedir)/ceed/jit-source/"\
635+
"$(includedir)/ceed/jit-source/cuda/" "$(includedir)/ceed/jit-source/hip/"\
636+
"$(includedir)/ceed/jit-source/gallery/" "$(libdir)" "$(pkgconfigdir)")
630637
$(INSTALL_DATA) include/ceed/ceed.h "$(DESTDIR)$(includedir)/ceed/"
631638
$(INSTALL_DATA) include/ceed/ceed-f32.h "$(DESTDIR)$(includedir)/ceed/"
632639
$(INSTALL_DATA) include/ceed/ceed-f64.h "$(DESTDIR)$(includedir)/ceed/"
@@ -640,6 +647,9 @@ install : $(libceed) $(OBJDIR)/ceed.pc
640647
$(INSTALL_DATA) $(OBJDIR)/ceed.pc "$(DESTDIR)$(pkgconfigdir)/"
641648
$(INSTALL_DATA) include/ceed.h "$(DESTDIR)$(includedir)/"
642649
$(INSTALL_DATA) include/ceedf.h "$(DESTDIR)$(includedir)/"
650+
$(INSTALL_DATA) $(wildcard include/ceed/jit-source/cuda/*.h) "$(DESTDIR)$(includedir)/ceed/jit-source/cuda/"
651+
$(INSTALL_DATA) $(wildcard include/ceed/jit-source/hip/*.h) "$(DESTDIR)$(includedir)/ceed/jit-source/hip/"
652+
$(INSTALL_DATA) $(wildcard include/ceed/jit-source/gallery/*.h) "$(DESTDIR)$(includedir)/ceed/jit-source/gallery/"
643653

644654
.PHONY : all cln clean doxygen doc lib install par print test tst prove prv prove-all junit examples style style-c style-py tidy iwyu info info-backends info-backends-all
645655

@@ -677,7 +687,7 @@ style : style-c style-py
677687
CLANG_TIDY ?= clang-tidy
678688

679689
%.c.tidy : %.c
680-
$(CLANG_TIDY) $(TIDY_OPTS) $^ -- $(CPPFLAGS) --std=c99 -I$(CUDA_DIR)/include -I$(HIP_DIR)/include
690+
$(CLANG_TIDY) $(TIDY_OPTS) $^ -- $(CPPFLAGS) --std=c99 -I$(CUDA_DIR)/include -I$(HIP_DIR)/include -DCEED_JIT_SOUCE_ROOT_DEFAULT="\"$(abspath ./include)/\""
681691

682692
%.cpp.tidy : %.cpp
683693
$(CLANG_TIDY) $(TIDY_OPTS) $^ -- $(CPPFLAGS) --std=c++11 -I$(CUDA_DIR)/include -I$(OCCA_DIR)/include -I$(HIP_DIR)/include

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ For more details about the benchmarks, see the `benchmarks/README.md` file.
375375
To install libCEED, run:
376376

377377
```
378-
make install prefix=/usr/local
378+
make install prefix=/path/to/install/dir
379379
```
380380

381381
or (e.g., if creating packages):
@@ -384,6 +384,13 @@ or (e.g., if creating packages):
384384
make install prefix=/usr DESTDIR=/packaging/path
385385
```
386386

387+
To build and install in separate steps, run:
388+
389+
```
390+
make for_install=1 prefix=/path/to/install/dir
391+
make install prefix=/path/to/install/dir
392+
```
393+
387394
The usual variables like `CC` and `CFLAGS` are used, and optimization flags
388395
for all languages can be set using the likes of `OPT='-O3 -march=native'`. Use
389396
`STATIC=1` to build static libraries (`libceed.a`).

backends/cuda-ref/ceed-cuda-ref-basis.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,9 @@ int CeedBasisCreateTensorH1_Cuda(CeedInt dim, CeedInt P_1d, CeedInt Q_1d,
266266
CeedInt num_comp;
267267
ierr = CeedBasisGetNumComponents(basis, &num_comp); CeedChkBackend(ierr);
268268
char *basis_kernel_path, *basis_kernel_source;
269-
ierr = CeedPathConcatenate(ceed, __FILE__, "kernels/cuda-ref-basis-tensor.h",
270-
&basis_kernel_path); CeedChkBackend(ierr);
269+
ierr = CeedGetJitAbsolutePath(ceed,
270+
"ceed/jit-source/cuda/cuda-ref-basis-tensor.h",
271+
&basis_kernel_path); CeedChkBackend(ierr);
271272
CeedDebug256(ceed, 2, "----- Loading Basis Kernel Source -----\n");
272273
ierr = CeedLoadSourceToBuffer(ceed, basis_kernel_path, &basis_kernel_source);
273274
CeedChkBackend(ierr);
@@ -335,8 +336,9 @@ int CeedBasisCreateH1_Cuda(CeedElemTopology topo, CeedInt dim,
335336
CeedInt num_comp;
336337
ierr = CeedBasisGetNumComponents(basis, &num_comp); CeedChkBackend(ierr);
337338
char *basis_kernel_path, *basis_kernel_source;
338-
ierr = CeedPathConcatenate(ceed, __FILE__, "kernels/cuda-ref-basis-nontensor.h",
339-
&basis_kernel_path); CeedChkBackend(ierr);
339+
ierr = CeedGetJitAbsolutePath(ceed,
340+
"ceed/jit-source/cuda/cuda-ref-basis-nontensor.h",
341+
&basis_kernel_path); CeedChkBackend(ierr);
340342
CeedDebug256(ceed, 2, "----- Loading Basis Kernel Source -----\n");
341343
ierr = CeedLoadSourceToBuffer(ceed, basis_kernel_path, &basis_kernel_source);
342344
CeedChkBackend(ierr);

0 commit comments

Comments
 (0)