Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
3980f2b
-setup_fields_vpic
JamesMcClung Dec 29, 2025
7de4e3b
-collision_vpic
JamesMcClung Dec 29, 2025
f951eb6
vpic_config: -USE_VPIC chunk
JamesMcClung Dec 29, 2025
8a7b826
-VpicAccumulator
JamesMcClung Dec 29, 2025
09356bd
-test_VpicfieldArray
JamesMcClung Dec 29, 2025
3f20404
-VpicFieldArray
JamesMcClung Dec 29, 2025
9d7fb24
-VpicDiag
JamesMcClung Dec 29, 2025
3fce704
-sort_vpic
JamesMcClung Dec 29, 2025
7fe32d1
-VpicParticlesOps
JamesMcClung Dec 29, 2025
ddba44a
-bnd_vpic
JamesMcClung Dec 29, 2025
4078a7e
test_mparticles: rm vpic stuff
JamesMcClung Dec 29, 2025
f033fb3
testing; *: -vpic stuff
JamesMcClung Dec 29, 2025
0632fcb
-push_particles_vpic
JamesMcClung Dec 29, 2025
0c1decd
-push_fields_vpic
JamesMcClung Dec 29, 2025
790cc54
-psc_particles_vpic; cmake
JamesMcClung Dec 29, 2025
687fe53
-psc_particles_vpic, psc_fields_vpic
JamesMcClung Dec 29, 2025
9112474
-deck, wrapper*
JamesMcClung Dec 29, 2025
61694cf
-mfields_state_vpic
JamesMcClung Dec 29, 2025
dc50eab
-checks_vpic
JamesMcClung Dec 29, 2025
1c2858c
-bnd_fields_vpic
JamesMcClung Dec 29, 2025
c660ebe
-test_RngPool
JamesMcClung Dec 29, 2025
b231dac
-mfields_interpolator_vpic
JamesMcClung Dec 29, 2025
f662f28
-mfields_accumulator_vpic
JamesMcClung Dec 29, 2025
4ee4acc
-mfields_hydro_vpic
JamesMcClung Dec 29, 2025
38b83d0
-VpicRng
JamesMcClung Dec 29, 2025
cd8cc8e
-VpicInterpolator
JamesMcClung Dec 29, 2025
209fd1d
-test_VpicInterpolatorBase
JamesMcClung Dec 29, 2025
04c7028
-main
JamesMcClung Dec 29, 2025
a33da24
-mrc_io_vpic; *
JamesMcClung May 26, 2026
4552ab8
psc: -vpic-like stuff
JamesMcClung May 26, 2026
6fd3902
-vpic_hydro_ops; *
JamesMcClung May 26, 2026
cb73cbd
-VpicParticlesBase
JamesMcClung May 26, 2026
1d9a69a
-VpicParticleBc
JamesMcClung May 26, 2026
f45fe3d
-vpic_base; psc, cmake: mv vpic_base_init
JamesMcClung May 26, 2026
ad1aa31
psc: inline vpic_base_init
JamesMcClung May 26, 2026
c903dba
->bits; *
JamesMcClung May 26, 2026
93dca48
bits: pragma once
JamesMcClung May 26, 2026
56485cb
-mfields_state_psc; *
JamesMcClung May 26, 2026
2bc45c2
-vpic_config, -rng; *
JamesMcClung May 26, 2026
987ac9c
-test_PscFieldArray
JamesMcClung May 26, 2026
ebf1c15
-PscMaterial
JamesMcClung May 26, 2026
c44e7b0
-vpic/tests
JamesMcClung May 26, 2026
6c5d890
-vpic; *
JamesMcClung May 26, 2026
90a30cc
-mfields_hydro
JamesMcClung May 26, 2026
fa37714
bits: -unused macros
JamesMcClung May 26, 2026
4f0f4b7
*: -vpic vestiges
JamesMcClung May 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 17 additions & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@

cmake_minimum_required (VERSION 3.21)
cmake_minimum_required(VERSION 3.21)

foreach(policy
CMP0074 # CMake 3.12
CMP0104 # CMAKE_CUDA_ARCHITECTURES
)
CMP0074 # CMake 3.12
CMP0104 # CMAKE_CUDA_ARCHITECTURES
)
if(POLICY ${policy})
cmake_policy(SET ${policy} NEW)
endif()
Expand All @@ -27,7 +27,6 @@ endfunction()

set(PSC_GPU "host" CACHE STRING "Build with GPU supoort (host/cuda/hip)")
set_property(CACHE PSC_GPU PROPERTY STRINGS "host;cuda;hip")
option(USE_VPIC "Interface with VPIC" OFF)
option(USE_GTEST_DISCOVER_TESTS "Run tests to discover contained googletest cases" OFF)
psc_option(ADIOS2 "Build with adios2 support" AUTO)
option(PSC_USE_NVTX "Build with NVTX support" OFF)
Expand All @@ -37,8 +36,8 @@ option(PSC_USE_PERFETTO "Turn on perfetto-based tracing" OFF)

option(USE_CUDA "Build CUDA components" OFF)

if (USE_CUDA)
set(PSC_GPU "cuda" CACHE STRING "Build with GPU supoort (none/cuda/hip)")
if(USE_CUDA)
set(PSC_GPU "cuda" CACHE STRING "Build with GPU supoort (none/cuda/hip)")
endif()

if(PSC_GPU STREQUAL "cuda")
Expand All @@ -56,6 +55,7 @@ elseif(PSC_GPU STREQUAL "hip")
else()
set(USE_CUDA OFF)
endif()

set(GTENSOR_DEVICE "${PSC_GPU}" CACHE STRING "")

CPMAddPackage(
Expand All @@ -65,14 +65,14 @@ CPMAddPackage(
VERSION 0.0.0
)

if (BUILD_TESTING)
if(BUILD_TESTING)
CPMAddPackage(
NAME GTest
GITHUB_REPOSITORY google/googletest
VERSION 1.14.0
OPTIONS
"INSTALL_GTEST OFF"
"gtest_force_shared_crt ON"
"INSTALL_GTEST OFF"
"gtest_force_shared_crt ON"
)
include(GoogleTest)
endif()
Expand All @@ -86,23 +86,24 @@ if(PSC_USE_ADIOS2 STREQUAL AUTO)
elseif(PSC_USE_ADIOS2)
find_package(ADIOS2 CONFIG REQUIRED)
endif()

if(ADIOS2_FOUND)
set(PSC_HAVE_ADIOS2 1)
endif()

# NVTX
if (PSC_USE_NVTX)
if(PSC_USE_NVTX)
find_package(CUDAToolkit REQUIRED)
set(PSC_HAVE_NVTX 1)
endif()

# RMM
if (PSC_USE_RMM)
if(PSC_USE_RMM)
find_package(rmm 0.18.0 CONFIG REQUIRED)
set(PSC_HAVE_RMM 1)
endif()

if (PSC_USE_PERFETTO)
if(PSC_USE_PERFETTO)
CPMAddPackage("gh:google/perfetto@24.2")
find_package(Threads REQUIRED)
add_library(perfetto STATIC ${perfetto_SOURCE_DIR}/sdk/perfetto.cc)
Expand All @@ -113,6 +114,7 @@ endif()

function(GenerateHeaderConfig)
set(PSC_CONFIG_DEFINES)

foreach(OPT IN LISTS ARGN)
string(APPEND PSC_CONFIG_DEFINES "
/* CMake Option: PSC_USE_${OPT}=${PSC_USE_${OPT}} */
Expand All @@ -130,11 +132,12 @@ function(GenerateHeaderConfig)
)
endfunction()

# FIXME, unify USE_CUDA, USE_VPIC options / autodetect
# FIXME, unify USE_CUDA options / autodetect
# FIXME, mv helpers into separate file
GenerateHeaderConfig(ADIOS2 NVTX RMM)

include_directories(${CMAKE_CURRENT_BINARY_DIR}/src/include)

# FIXME, this seems too ugly to find mrc_config.h
include_directories(${CMAKE_CURRENT_BINARY_DIR}/src/libmrc/include)

Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ $ cat > cmake.sh <<EOF
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_CUDA=OFF \
-DUSE_VPIC=OFF \
..
EOF
$ . cmake.sh # run cmake (hope for the best)
Expand Down
1 change: 0 additions & 1 deletion src/include/PscConfig.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
*/

#cmakedefine USE_CUDA
#cmakedefine USE_VPIC

/* Everything past this line is programatically generated */

Expand Down
2 changes: 1 addition & 1 deletion src/include/checkpoint.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ void write_checkpoint(const Grid_t& grid, Mparticles& mprts,

prof_start(pr);
mpi_printf(grid.comm(), "**** Writing checkpoint...\n");
#if defined(PSC_HAVE_ADIOS2) && !defined(VPIC)
#if defined(PSC_HAVE_ADIOS2)
prof_start(pr_A);
MPI_Barrier(grid.comm()); // not really necessary
prof_stop(pr_A);
Expand Down
2 changes: 1 addition & 1 deletion src/include/grid/domain.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include <mrc_common.h>
#include <iostream>
#include "../libpsc/vpic/psc_vpic_bits.h"
#include "../libpsc/bits.hxx"

namespace psc
{
Expand Down
2 changes: 1 addition & 1 deletion src/include/input_params.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#include <mpi.h>

#include "../libpsc/vpic/psc_vpic_bits.h"
#include "../libpsc/bits.hxx"

namespace
{
Expand Down
121 changes: 0 additions & 121 deletions src/include/mfields_hydro.hxx

This file was deleted.

51 changes: 0 additions & 51 deletions src/include/psc.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
#include <particles.hxx>
#include <setup_particles.hxx>

#include "../libpsc/vpic/fields_item_vpic.hxx"
#include "gauss_corrector_base.hxx"
#include "diagnostic_base.hxx"
#include "injector_base.hxx"
Expand Down Expand Up @@ -636,53 +635,3 @@ void setupParticles(SetupParticles& setup_particles, Mparticles& mprts,
mpi_printf(MPI_COMM_WORLD, "**** Setting up particles...\n");
setup_particles.setupParticles(mprts, init_np);
}

// ======================================================================
// VPIC-like stuff

// ----------------------------------------------------------------------
// define_periodic_grid

void define_periodic_grid(const double xl[3], const double xh[3],
const int gdims[3], const int np[3])
{}

// ----------------------------------------------------------------------
// set_domain_field_bc

void set_domain_field_bc(Int3 bnd, int bc) {}

// ----------------------------------------------------------------------
// set_domain_particle_bc

void set_domain_particle_bc(Int3 bnd, int bc) {}

void grid_setup_communication() {}

// ----------------------------------------------------------------------
// vpic_define_grid

void vpic_define_grid(const Grid_t& grid) {}

// ----------------------------------------------------------------------
// vpic_define_material

static void vpic_define_material(MaterialList& material_list, const char* name,
double eps, double mu = 1., double sigma = 0.,
double zeta = 0.)
{}

// ----------------------------------------------------------------------
// vpic_define_fields

void vpic_define_fields(const Grid_t& grid) {}

// ----------------------------------------------------------------------
// vpic_create_diagnotics

void vpic_create_diagnostics(int interval) {}

// ----------------------------------------------------------------------
// vpic_setup_diagnostics

void vpic_setup_perform_diagnostics() {}
23 changes: 0 additions & 23 deletions src/include/rngpool_iface.h

This file was deleted.

1 change: 0 additions & 1 deletion src/libmrc/include/mrc_io_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ extern struct diagsrv_srv_ops ds_srv_ops;
extern struct diagsrv_srv_ops ds_srv_cache_ops;

extern struct mrc_io_ops mrc_io_ascii_ops;
extern struct mrc_io_ops mrc_io_vpic_ops;
extern struct mrc_io_ops mrc_io_xdmf_ops;
extern struct mrc_io_ops mrc_io_xdmf_serial_ops;
extern struct mrc_io_ops mrc_io_xdmf_to_one_ops;
Expand Down
1 change: 0 additions & 1 deletion src/libmrc/src/mrc_io.c
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,6 @@ static void mrc_io_init()
#endif
#endif
mrc_class_register_subclass(&mrc_class_mrc_io, &mrc_io_ascii_ops);
mrc_class_register_subclass(&mrc_class_mrc_io, &mrc_io_vpic_ops);
mrc_class_register_subclass(&mrc_class_mrc_io, &mrc_io_combined_ops);
// ========================================
// Deprecated / eternally broken io types (FIXME)
Expand Down
Loading
Loading