▼ Include | |
► Core | |
avx2_hirep.h | |
check_options.h | Validation checks of the input parameters specified in the input file and error messages that give instructions how to fix the issue |
core_utils.h | Macros to declare global variables |
cpu_complex.h | Type definitions and macros for complex numbers used in C |
flags.h | Global flags that indicate for example that a certain field has been updated |
gamma_spinor.h | Macros for gamma x spinor |
global.h | Global parameters and arrays |
global_gpu.h | Global variables need to be declared once in the main program and then again as extern variables in the files that use them. This can be achieved by just including this header with any other modification. A macro will automatically declare the variable in the main program without the extern modifier and with it everywhere else |
gpu.h | Basic gpu imports and structs. Include this in files that define GPU logic |
gpu_complex.hpp | |
hr_complex.h | Type definitions and macros for complex numbers |
hr_mpi.h | Setup for mpi |
hr_omp.h | OpenMP reduction operations for HiRep |
SIMD_vector_hirep.h | |
spin_matrix.h | Type definitions and macros for spin_matrix |
spinor_field.h | The elementary site structures defined in suN.h are used in this file to define field structures that contain arrays to save field data and information on the geometry |
► Error | |
error_gpu.h | Error checking for GPU |
error_handling.h | Functions and macros for error handling |
► Geometry | |
communications.h | Communications to send and receive sites from other nodes using MPI with GPU |
communications_reduced.h | |
cpu_geometry.h | This file contains macros to load elements of single sites of a field |
geometry_check.h | Validity checks on the geometry of spinor fields that are passed as function parameters. Use these macros to make the code more compact. These are compiled to empty lines, if CHECK_SPINOR_MATCHING is inactive |
geometry_descriptor.h | Geometry descriptor struct, that contains all necessary information for multi-node/ multi-GPU calculations |
geometry_fuse.h | FIXME: Add docs |
geometry_gpu_init.h | Initialization functions, that determine all important parameters of the geometry, so that communications and operations can be completed correctly |
geometry_indexing.h | Finding indices from coordinates and the other way around |
geometry_init.h | Initialization functions, that determine all important parameters of the geometry, so that communications and operations can be completed correctly |
geometry_maskstate.h | Mask structs that can give information on whether neighbors of a given site are located in the buffer and require communications first or not |
geometry_omp.h | This file contains useful macros that perform OpenMP reduction operations and are necessary to define iterations over sites on the lattice |
geometry_type.h | This file contains a geometry type for the new geometry |
gpu_affinity.h | |
gpu_geometry.h | |
hr_sendrecv.h | Header for custom communications, configurable over compilation flags |
new_geometry.h | Functions needed for the new geometry implementation that will replace the current geometry in the future |
read_clover.h | |
setup.h | Setup and finalize to run at the beginning and the end of every program |
strided_reads_gpu.h | |
► Inverters | |
global_sum.h | Functions for global reduction operations across nodes |
linear_algebra.h | Linear algebra operations on spinors both for CPU and with GPU |
linear_algebra_generic.h | Linear algebra operations on spinors both for CPU and with GPU |
linear_algebra_generic_gpu.hpp | |
linear_solvers.h | |
precise_sums.h | |
precise_sums_gpu.hpp | |
scalarfield_operations.h | Linear algebra operations for scalar fields |
test_complex.h | Tests for complex numbers |
► IO | |
archive.h | Read and save configurations |
gpu_info.h | Functions that print collective information on cluster drivers, necessary software and available hardware. To be logged to simulation outfiles |
input_par.h | |
logger.h | Simple output logging facility |
moreio.h | Reading and saving configurations from other lattice libraries |
read_action.h | Read in action from input file and parameters |
► Memory | |
field_memory.h | Field allocation, GPU geometry conversion and host-device/device-host copy functions |
memory_generic.h | Generic memory allocation/deallocation |
► Observables | |
calc_prop.h | |
calc_prop_ff.h | |
glueballs.h | |
loop_tools.h | |
measure_baryons.h | |
measure_mesons.h | |
measure_mesons_ff.h | |
measure_renormalization.h | |
meson_observables.h | |
polyakov.h | |
propagator.h | |
pta_qprop.h | |
rotated_corrs.h | |
scattering.h | |
sf.h | |
sources.h | |
spectrum.h | |
trunc_hairpin.h | |
wilsonloops.h | |
z2semwall.h | |
► Random | |
random_generic.h | Generic random functions |
random_generic_gpu.hpp | |
random_utils.h | |
ranlux.h | |
► Statistics | |
base_stat.h | |
jacknife.h | |
► Update | |
cabmar.h | |
clover_tools.h | |
dirac.h | |
field_update.h | |
find_spec_limits.h | |
forces.h | |
gauge_observables.h | |
integrators.h | |
local_action.h | |
monomials.h | |
mre.h | |
rational_functions.h | |
representation.h | |
staples.h | |
stout_smearing.h | |
twisted_bc.h | Macros to encapsulate fermion twisting in the dirac operator |
update_algo.h | |
► Utils | |
background_field.h | |
boundary_conditions.h | |
clover_exp.h | |
data_storage.h | |
eigval.h | |
eva_deflation.h | |
factorial.h | |
gauge_anisotropy.h | |
gaugefix.h | |
generics.h | |
HYP_smearing.h | |
mat_utils.h | |
metrics.h | |
print_compile_options.h | |
shift_fields.h | |
single_double_utils.h | |
spatial_transformations.h | |
suN_mat_utils.h | |
test_utils.h | Utilities to simplify testing |
timing.h | |
wilsonflow.h | |
work_space.h | |
error.h | |
geometry.h | This file contains information on the geometry of the local lattice, block decomposed geometry, buffers, etc. All geometric properties that are needed to perform operations correctly have to be contained in the struct geometry_descriptor. In order to encapsulate the complicated geometry structure iteration over lattice sites is simplified through macros given in this file. This simplified performing operations on lattice data |
inverters.h | |
io.h | |
libhr.h | |
libhr_core.h | |
memory.h | |
observables.h | |
random.h | |
statistics.h | |
update.h | |
utils.h | |
▼ LibHR | |
► Error | |
error.c | Error handling functions |
error_gpu.c | Error checking on the GPU |
► Geometry | |
hr_sendrecv.c | Abstracted sendrecv of buffers of given fields |
init_gpu.c | Functions initialize the GPU for the simulation and print collective information on cluster drivers, necessary software and available hardware. To be logged to simulation outfiles |
► Inverters | |
eva_gpu.hpp | |
linear_algebra_gpu_kernels.hpp | |
► IO | |
gpu_info.c | Prints information on available hardware and software on the cluster relating to GPUs |
► Memory | |
amalloc.c | Align memory (de)allocation functions |
convert_kernels.hpp | |
► Update | |
► remez | |
alg_remez.h | |
bigfloat.h | |
Dphi_gpu_kernels.hpp | |
gauge_observables_gpu_kernels.hpp | |
staples_gpu.hpp | |
► Utils | |
boundary_conditions_gpu_kernels.hpp | |
single_double_utils.c | Functions for conversion from single to double precision and vice versa |
single_double_utils_gpu.cu | Function for conversion from single to double precision and vice versa, GPU version |
single_double_utils_gpu_kernels.hpp | |