►Mieee_arithmetic | Emulation of standard functions on older compilers |
Cieee_class_type | |
Cieee_copy_sign | |
Cieee_is_nan | |
Cieee_is_normal | |
Cieee_support_denormal | |
Cieee_support_inf | |
Cieee_support_nan | |
Cieee_value | |
►Mlinear_algebra | Basic tools from linear algebra |
Carr_dotproduct | Dot product for dim 1 and 2 arrays in single/double precision |
Carr_norm_2 | The 2-norm of a 2d array |
Ccalc_abs_res | Calculate absolute residual in single/double precision |
Ccalc_rel_res | Calculate relative residual in single/double precision for Ax=b |
Cglobal_sum | Dot product for dim 1 and 2 arrays in single/double precision |
►Mppm_checksum | |
Cdeviation_controlsum | Compute SUM(a)/SIZE(a) + (SUM(a - SUM(a)/SIZE(a)) |
Cdigest_description | |
Chex_checksum | Perform full cryptographic checksum computation |
Cppm_hex_checksum_f | |
►Mppm_combinatorics | Gathers some base routines for combinatorial problems |
Ccombination | Produce random selection and its complement |
Cis_permutation | Establish whether an array is a permutation of another array or a range |
Cpermute | Randomly permute a given array |
Cprime_factorization | Compute list of prime factors (sorted, but duplicates included) |
Cselection | Produce random selection |
►Mppm_compact_mask_index | Ppm_compact_mask_index.f90 supposing you have a mask array and use it in something like a WHERE, then it can be beneficial to only visit those indices of the array expression with the condition evaluating to .TRUE., in case this is relatively sparse or the ensuing conditional is expensive in comparison to the WHERE/FORALL body |
Cindex_from_mask | Compute index from mask array |
Cindex_from_mask_mt | Compute index from mask array, multi-threaded variant |
Crange_compact_2d | Describe contiguous range in 2d mask |
Crange_compact_3d | |
►Mppm_distributed | Distributed data structures base module |
Cbuild_graph | Construct graph from rectilinear slices |
Cgraph_csr_dist_i4 | Proxy object for distributed graph-structured data |
Cgraph_gather | Gather distributed data structure on one process in MPI program |
Cnum_edges | Number of edges |
Cnum_nodes | Number of vertices |
►Mppm_distributed_array | |
Cdist_mult_array | Dist_mult_array describes a global array where each rank only holds a part of the whole and this object can be used to access values stored on other ranks |
Cdist_mult_array_local_ptr | Get POINTER to local portion of sub-array |
Cglobal_array_desc | Describes one array-like global data structure to be distributed |
►Mppm_extents | Definition of extent and interval types and associated functions |
Cassignment(=) | |
Cchar | |
Cextent | Describes range as start and (directed) size |
Cextent_end | |
Cextent_i8 | Describes range as start and (directed) size |
Cextent_intersect | |
Cextent_set_iinterval | |
Cextent_shape | |
Cextent_size | |
Cextent_size_i8 | |
Cextent_start | |
Cextents_do_intersect | |
Ciinterval | Interval including both limits, i.e. [first,last] where first and last are integral numbers, this exhibits a problem for 0-size intervals, because we also want to allow negative stride intervals like .e.g. 2..-3 of size -6, meaning there is no iinterval representation equal to the empty set |
Ciinterval_dp | |
Ciinterval_i8 | Interval including both limits, i.e. [first,last] where first and last are integral numbers, this exhibits a problem for 0-size intervals, because we also want to allow negative stride intervals like .e.g. 2..-3 of size -6, meaning there is no iinterval representation equal to the empty set |
Ciinterval_sp | |
Cis_contained_in | |
Coperator(/=) | |
Coperator(==) | |
Crebased_extent | |
Csprint | |
►Mppm_graph_alist | |
Cadjl | |
Cgraph_adjl | |
►Mppm_graph_csr | Data structure for representation of graph in csr format |
Cbuild_graph | Construct graph from rectilinear or adjacency matrix |
Cbuild_graph_mt | Construct graph from rectilinear in multi-threaded program |
Cgraph_csr | |
Cgraph_is_symmetric | |
Cnum_edges | Number of edges |
Cnum_nodes | Number of vertices |
Coperator(==) | Compare whether two graphs are equal |
Cwrite_graph | Serialize graph to file |
►Mppm_graph_partition_mpi | This is currently only a convenient wrapper of ParMeTis, other heuristics are to follow later |
Cparmetis_v3_partkway | |
►Mppm_graph_partition_serial | Perform partitioning of graph from serial code |
Cgraph_partition_metis | |
Cmetis_partgraphkway | |
Cmetis_setdefaultoptions | |
►Mppm_irand_internal | |
Ca_rand | Unfortunately, Fortrans random number generator is only prepared to produce REAL-type results, this add similar capabilities for INTEGER results in range [irand_min,irand_max] and [irand8_min,irand8_max] respectively and REALs in the range (-1.0,1.0) |
Ca_rand_mt | These functions must be called by openmp teams (if compiled with OpenMP) a is filled with INTEGERs in range [irand_min,irand_max] or REALs of range (-1.0,1.0) |
Ca_randp | Unfortunately, Fortrans random number generator is only prepared to produce REAL-type results, this add similar capabilities for INTEGER results in range [0,irand_max] and REALs in the range [0.0,1.0) |
Ca_randp_mt | Generate arrays filled with positive random numbers these functions must be called by all threads in an OpenMP team! a is filled with INTEGERs in range [0,irand_max] or REALs of range [0.0,1.0) |
Ca_randr | Generate arrays filled with random numbers in given range |
Ca_randr_mt | Generate arrays filled with random numbers in given range these functions must be called by all threads in an OpenMP team! |
Cppm_drand | These functions are implemented in an OpenMP-thread-safe means, return reals within range (-1.0_dp,1.0_dp) or (-1.0_sp,1.0_sp) respectively |
Cppm_drandp | These functions are implemented in an OpenMP-thread-safe means, return REALs within range [0.0_dp,1.0_dp) or [0.0_sp,1.0_sp) respectively |
Cppm_drandr | These functions are implemented in an OpenMP-thread-safe means, return REALs within specified range |
Cppm_finalize_irand | |
Cppm_frand | |
Cppm_frandp | |
Cppm_frandr | |
Cppm_initialize_irand | |
Cppm_irand | This function is implemented in an OpenMP-thread-safe means, returns integers within range [irand_min,irand_max] |
Cppm_irand8 | This function is implemented in an OpenMP-thread-safe means, returns integers within range [irand8_min,irand8_max] |
Cppm_irandp | This function is implemented in an OpenMP-thread-safe means, returns integers within range [0,irand_max] |
Cppm_irandp8 | This function is implemented in an OpenMP-thread-safe means, returns integers within range [0,irand8_max] |
Cppm_irandr | These functions are implemented in an OpenMP-thread-safe means, return integers within the specified range, which must be non-empty |
►Mppm_m1d | |
Cxy_bounds_t | |
►Mppm_math_extensions | |
Cassign_nan | |
Cddp_add | |
Cddp_sum | |
Cppm_ddp_add_ddp_ddp | |
Cppm_ddp_add_dp_dp | |
Cppm_ddp_sum_dp | |
►Mppm_math_extensions_internal | |
Cppm_fpu_restore_cw | |
Cppm_fpu_restore_mxcsr | |
Cppm_fpu_save_cw | |
Cppm_fpu_save_mxcsr | |
►Mppm_ncdf_dump | Write a single array to a NetCDF file, for debugging mostly |
Cdump_ncdf_single_array | |
Cnf_put_att_double | |
Cnf_put_att_int | |
Cnf_put_att_real | |
►Mppm_posix | |
Clongjmp | |
Csetjmp | |
►Mppm_posix_types | |
Cppm_stat | |
►Mppm_ptr_bnds_remap | |
Cptr_bnds_remap | |
►Mppm_rectilinear | Utility routines to use array of extents as rectilinear descriptor |
Clidx2rlcoord | |
Clidx_nb_coords | |
Clidx_nb_indices | |
Cnum_neighbours_of_rect_elem | |
Crlcoord2lidx | |
►Mppm_set_partition | |
Cgreedy_partitioning | |
►Mppm_set_partition_base | Basic routines and data structures for handling partitions |
Cassignment(=) | |
Cbalance_of_max | |
Cblock_decomposition | Describe range decomposed into non-overlapping contiguous ranges |
Coperator(/=) | |
Coperator(==) | |
Cpart_size | |
Cpartition_assignment | Denotes partitioning by tabulating for each element i partition p_i as p_i == assigned(i), also part_range must denote the legal range for p_i |
Cpartition_vec | Succinct representation of partitioning, where elements(start(p):start(p+1)-1) contains the indices i of partition p |
Cpartition_weight_sums | |
Cppm_read_int_array | |
Cread_partitioning | |
Cset_i4 | Easily changeable partition descriptor, to be used as array of size n for description of partitioning into n partitions |
Cwrite_partition | |
►Mppm_set_repartition | |
Crepartition_swap | |
Cswap_pair | |
►Mppm_sort | Generic sort implementations |
Cppm_qsort_i4_f | |
►Mppm_sparse_mask_index | Ppm_sparse_mask_index supposing you have a mask array and use it in something like a WHERE, then it can be beneficial to only visit those indices of the array expression with the condition evaluating to .TRUE., in case this is relatively sparse or the ensuing conditional is expensive in comparison to the WHERE/FORALL body |
Cfold_mask | |
Cindex_from_mask | |
Cindex_sparse_nd | |
►Mppm_statistics | |
Carithmetic_mean | |
►Mppm_strided_extents | |
Cchar | |
Cextent_end | |
Cextent_size | |
Cextent_start | |
Coperator(==) | |
Cstrided_extent | |
►Mppm_strio_internal | |
Cfmt_elem | |
Cppm_sscana | |
►Mppm_uniform_partition | Compute uniform partitioning of n-dimensional rectilinear |
Cpartidx_of_elem | |
Cuniform_decomposition | |
►Mpreconditioners | Preconditioners for symmetric 5-point stencil system |
Cicc | (modified) incomplete Cholesky preconditioner with fill-in p |
Cicc_precond_shifted_stencil | Shifted stencil of the (modified) ICC preconditioned original stencil |
Cicc_precond_stencil | Stencil of the (modified) ICC preconditioned original stencil |
Cidentity | Identity function |
Cilu0 | Incomplete LU-decomposition with fill-in 0 |
Cilu0_precond_shifted_stencil | Shifted stencil of the ILU(0) preconditioned original stencil |
Cilu0_precond_stencil | Stencil of the ILU(0) preconditioned original stencil |
Cjacobi | Jacobi preconditioner |
Cjacobi_precond_shifted_stencil | Shifted stencil of the Jacobi preconditioned original stencil |
Cjacobi_precond_stencil | Stencil of the Jacobi preconditioned original stencil |
Cprecond_prepared | Determines if given preconditioner is prepared |
Cprep_icc | Prepare ICC(p) preconditioner |
Cprep_ilu0 | Prepare ILU(0) preconditioner |
Cprep_jacobi | Prepare Jacobi preconditioner |
Cprep_micc | Prepare modified ICC(p) preconditioner |
Cssor | Symmetric, successive over-relaxation preconditioner |
Cssor_precond_shifted_stencil | Shifted stencil of the SSOR preconditioned original stencil |
Cssor_precond_stencil | Stencil of the SSOR preconditioned original stencil |
►Msolver_all | Generic solve function and multi-precision iterative refinement |
Csolve | General solve function to solve Ax = b in single/double precision |
►Msolver_config | Configuration for stencil and parameters |
Capply_shifted_stencil | Apply shifted stencil, i.e. shifted matrix vector multiplication |
Capply_stencil | Apply stencil, i.e. matrix vector multiplication |
Cset_stencil | Set the stencil, i.e. matrix A |
Cstencil_defined | Determines if stencil is defined |
►Msolver_internal | Internal solver module |
Cabort_unless_normal | Checks each element of a 0 to 3 dimensional array for NaN, Infty.. |
Cclear_halos | Clears the halos of a 2d array |
Cexchangeop | Stub boundary exchange operation |
Clinop | Stub function for linear operator |
Csolver_config_type | Type holding all configuration parameters |
Cstencil_type_dp | Stencil type, i.e. structure in double precision |
Cstencil_type_sp | Stencil type, i.e. structure in single precision |
►Msolvers | Solvers i.e. preconditioned CG, Chebyshev, Schwarz |
Ccg_method | CG method |
Cchebyshev_method | Chebyshev iteration |
Cprecond_cg_method | Preconditioned CG method |
Cprecond_chebyshev_method | Preconditioned Chebyshev iteration |
Cschwarz_method | Additive Schwarz method |
►Mspectral_methods | Functions to determine eigenvalues |
Ccalc_lambda_max | Calculates largest absolute eigenvalue |
Ccalc_lambda_min | Calculates smallest absolute eigenvalue |
Ccalc_lambda_min_max | Calculates smallest and largest absolute eigenvalue |
Ccalc_optimal_sor_param | Calculates optimal SOR parameter |
Cjacobi_iter | Jacobi iteration matrix |
Cpower_method | Power method to determine largest absolute eigenvalue and vector |
CMD5Context | |
CPPM_block_decomposition | |
CPPM_digest_description | |
CPPM_extent | |
CPPM_extent64 | |
CPPM_global_array_desc | |
CPPM_iinterval | |
CPPM_iinterval64 | |
CPPM_iinterval_dp | |
CPPM_iinterval_sp | |
CPPM_rect_coord_vec | |
Cstrided_extent | |