Commit Graph

3 Commits

Author SHA1 Message Date
Jukka Aho c04e84785d feat(ext): add JuliaFEMMPIExt.jl
ext/JuliaFEMMPIExt.jl | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++  1 file changed, 156 insertions(+)
2026-05-09 16:30:27 +03:00
Jukka Aho 13eabeef3b refactor(ext): remove JuliaFEMCUDAExt.jl
ext/JuliaFEMCUDAExt.jl | 934 -------------------------------------------------  1 file changed, 934 deletions(-)
2026-05-09 16:30:27 +03:00
Jukka Aho e64ab2df55 feat(gpu): Add CUDA extension with nodal assembly kernels
- JuliaFEMCUDAExt package extension (loaded with 'using CUDA')
- ElasticityDataGPU: All data on device (nodes, elements, BCs, node-to-elem map)
- initialize_gpu_data!() transfers Physics to GPU with renumbering
- nodal_assembly_kernel!() computes stiffness 3×3 blocks per node
- compute_element_stresses_kernel!() element-level stress computation
- apply_surface_traction_kernel!() Neumann BC on surfaces
- apply_dirichlet_kernel!() penalty method for essential BCs
- cg_solve_matfree_gpu!() matrix-free CG solver
- solve_newton_krylov_gpu!() inexact Newton with GMRES-style restart
- initialize_backend(::GPU) and solve_backend!() dispatch methods
- 934 lines: Pure GPU implementation with zero CPU-GPU transfers during solve
2025-11-12 01:04:31 +02:00