Skip to content

Implement chipStar support#3

Open
pvelesko wants to merge 820 commits intomainfrom
chipStar
Open

Implement chipStar support#3
pvelesko wants to merge 820 commits intomainfrom
chipStar

Conversation

@pvelesko
Copy link
Collaborator

No description provided.

uumesh and others added 30 commits May 8, 2025 10:51
* Fixes for oneAPI-2025

* Neat fix for oneAPI 2025

* style changes
ex - add PETSc BP1+3 and BP2+4 examples
test - fix path to stay in folder
rust - update rust examples to match c/python
Use HTML comments as doc inclusion markers
Add ncomp=4 as common CPU restriction variant
Co-authored-by: Peter Munch <peterrmuench@gmail.com>
ex - use deal.II fe to build libCEED Basis
cpu - remove vectorize warnings for Clang -O3
* doc - improve internal API documentation

* doc - clarify delegation

* doc - update wording for clarity

Co-authored-by: James Wright <james@jameswright.xyz>

* doc - clarify memcheck==valgrind

* doc - clarify shared gpu backends

* doc - clarify l/e/q-vecs

* doc - clarify occa backend status

* doc - more inheritance clarification

* doc - minor claification to QF fields

* minor - remove unneeded variables

* doc - update inheritance language

* doc - update shared description

* doc - more gpu notes

* doc - update fallback description

* doc - clarify fallback is only for pc support

* doc - minor updates to user facing GPU section

* doc - minor reordering of major sections

---------

Co-authored-by: James Wright <james@jameswright.xyz>
cuda-12.9 contains anonymous unions, which are not in c99. But c11 is
widely supported these days so it seems fair to update.

One nit is that c11 does not require VLA, and libCEED uses VLA-pointers
internally for some purposes.
jeremylt and others added 27 commits February 25, 2026 10:04
Expand style conventions in dev docs
interface: fix uninitialized use in CeedOperatorMultigridLevelCreateSingle_Core
cov - add missing exclusion markers
Better flags for cov accuracy on Noether
* contributing - draft LLM statement

* contributing - deleniate permitted and disallowed LLM usage

* contributing - grammar

Co-authored-by: Valeria Barra <39932030+valeriabarra@users.noreply.github.com>

* dev - add PR template

* contributing - wording consistency between PR template and CONTRIBUTING.md

* minor - typo

* contributing - refrence sf dora

* minor - fix spelling

Co-authored-by: Yohann <dudouit1@llnl.gov>

---------

Co-authored-by: Valeria Barra <39932030+valeriabarra@users.noreply.github.com>
Co-authored-by: Yohann <dudouit1@llnl.gov>
rust - allow setting ceed OPT flags for rust, mostly for CI/cov
Detect HIP platform at build time via hipconfig output:
- __HIP_PLATFORM_SPIRV__ → HIP_LIB_NAME=CHIP (chipStar)
- __HIP_PLATFORM_HCC__/__HIP_PLATFORM_AMD__ → HIP_LIB_NAME=amdhip64

Move ROCM_DIR and HIP_ARCH defaults to the top of the file where other
tool-path defaults live. Use HIP_LIB_NAME in the library detection glob
and in PKG_LIBS. Remove the subst=,, stripping from HIPCONFIG_CPPFLAGS
so flags are passed through unmodified.
When SYCL backends are built, libceed.so must be linked with icpx
(SYCLCXX) rather than g++, and -fsycl must appear in CEED_LDFLAGS
(before object files) so icpx can merge the SYCL fat binary device
sections. Without this, libceed.so lacks NEEDED: libsycl.so.7 and
SYCL kernels fail to load at runtime.
Replace the outer element for-loop with a single element assignment and
guard all memory accesses with if (elem < num_elem). Shared memory
operations (Interp, Grad, etc.) must execute unconditionally across all
threads so __syncthreads() is reached uniformly; only the
load/store steps are guarded. Also guard qfunction calls with
thread-id bounds checks and comment out the pragma unroll that
triggered miscompilation on chipStar's LLVM.
Prevents UnicodeDecodeError when GPU runtimes emit non-UTF-8 bytes
(e.g. chipStar CHIP warnings contain raw binary data in some paths).
chipStar prints 'CHIP info/warning/debug ...' lines to stderr on every
run. These are not test failures but caused JUnit to mark all HIP tests
as failed. Filter them out before checking whether stderr is non-empty.
…r gcc

chipStar's hipconfig -C outputs --offload=spirv64, -nohipwrapperinc, --hip-path=,
and --target= which are clang-only flags.  When CC=gcc is used for .c files (or
CXX != HIPCC for .cpp files), these flags cause build failures.

Add HIPCONFIG_CPPFLAGS_C that filters the clang-only flags and adds an explicit
-I$(ROCM_DIR)/include (since -nohipwrapperinc was suppressing the wrapper that
would have pulled in hip_runtime.h).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.