Remove the compile-time #error that blocked USE_CUDA_Z4C + WithShell. Add GPU-to-CPU state sync at the start of both Z4C Step functions (non-CPBC and CPBC) so shell CPU consumers read valid field data after Cartesian GPU RHS with resident state. Move bssn_cuda_use_resident_sync and bssn_cuda_download_level_state _if_present from anonymous namespace to file scope in bssn_class.C so derived classes (Z4C) can call them. Declare both in bssn_rhs_cuda.h. Include bssn_rhs_cuda.h in Z4c_class.C. Z4C shell RHS remains on CPU (Fortran Z4c_rhs_ss.f90) pending future GPU kernel implementation. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
390 KiB
390 KiB