►Nieee_arithmetic | Emulation of standard functions on older compilers |
Cieee_is_normal | |
Cieee_is_nan | |
Cieee_class_type | |
Cieee_value | |
Cieee_copy_sign | |
Cieee_support_denormal | |
Cieee_support_nan | |
Cieee_support_inf | |
►Nlinear_algebra | Basic tools from linear algebra |
Carr_dotproduct | Dot product for dim 1 and 2 arrays in single/double precision |
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 |
Carr_norm_2 | The 2-norm of a 2d array |
Cmpi_allreduce | |
►Nppm_checksum | |
Cdigest_description | |
Chex_checksum | Perform full cryptographic checksum computation |
Cdeviation_controlsum | Compute SUM(a)/SIZE(a) + (SUM(a - SUM(a)/SIZE(a)) |
Cppm_hex_checksum_f | |
►Nppm_combinatorics | Gathers some base routines for combinatorial problems |
Cpermute | Randomly permute a given array |
Cselection | Produce random selection |
Ccombination | Produce random selection and its complement |
Cis_permutation | Establish whether an array is a permutation of another array or a range |
Cprime_factorization | Compute list of prime factors (sorted, but duplicates included) |
►Nppm_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 |
Crange_compact_2d | Describe contiguous range in 2d mask |
Crange_compact_3d | |
Cindex_from_mask | Compute index from mask array |
Cindex_from_mask_mt | Compute index from mask array, multi-threaded variant |
►Nppm_distributed | Distributed data structures base module |
Cgraph_csr_dist_i4 | Proxy object for distributed graph-structured data |
Cbuild_graph | Construct graph from rectilinear slices |
Cnum_edges | Number of edges |
Cnum_nodes | Number of vertices |
Cgraph_gather | Gather distributed data structure on one process in MPI program |
►Nppm_distributed_array | |
Cglobal_array_desc | Describes one array-like global data structure to be distributed |
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 |
►Nppm_extents | Definition of extent and interval types and associated functions |
Cextent | Describes range as start and (directed) size |
Cextent_i8 | Describes range as start and (directed) size |
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_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 | |
Ciinterval_dp | |
Cextent_size | |
Cextent_size_i8 | |
Cextent_shape | |
Cextent_start | |
Cextent_end | |
Crebased_extent | |
Cchar | |
Csprint | |
Cextent_set_iinterval | |
Cassignment(=) | |
Coperator(==) | |
Coperator(/=) | |
Cextent_intersect | |
Cextents_do_intersect | |
Cis_contained_in | |
►Nppm_graph_alist | |
Cadjl | |
Cgraph_adjl | |
►Nppm_graph_csr | Data structure for representation of graph in csr format |
Cgraph_csr | |
Cnum_edges | Number of edges |
Cnum_nodes | Number of vertices |
Cwrite_graph | Serialize graph to file |
Cbuild_graph | Construct graph from rectilinear or adjacency matrix |
Cbuild_graph_mt | Construct graph from rectilinear in multi-threaded program |
Coperator(==) | Compare whether two graphs are equal |
Cgraph_is_symmetric | |
►Nppm_graph_partition_mpi | This is currently only a convenient wrapper of ParMeTis, other heuristics are to follow later |
Cparmetis_v3_partkway | |
►Nppm_graph_partition_serial | Perform partitioning of graph from serial code |
Cmetis_setdefaultoptions | |
Cmetis_partgraphkway | |
Cgraph_partition_metis | |
►Nppm_irand_internal | |
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_irandr | These functions are implemented in an OpenMP-thread-safe means, return integers within the specified range, which must be non-empty |
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_frandp | |
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_frand | |
Cppm_drandr | These functions are implemented in an OpenMP-thread-safe means, return REALs within specified range |
Cppm_frandr | |
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 REALs in the 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_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_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_initialize_irand | |
Cppm_finalize_irand | |
►Nppm_m1d | |
Cxy_bounds_t | |
►Nppm_math_extensions | |
Cddp_add | |
Cddp_sum | |
Cppm_ddp_sum_dp | |
Cppm_ddp_add_dp_dp | |
Cppm_ddp_add_ddp_ddp | |
Cassign_nan | |
►Nppm_math_extensions_internal | |
Cppm_fpu_save_cw | |
Cppm_fpu_restore_cw | |
Cppm_fpu_save_mxcsr | |
Cppm_fpu_restore_mxcsr | |
►Nppm_ncdf_dump | Write a single array to a NetCDF file, for debugging mostly |
Cnf_put_att_int | |
Cnf_put_att_double | |
Cnf_put_att_real | |
Cdump_ncdf_single_array | |
►Nppm_posix | |
Csetjmp | |
Clongjmp | |
►Nppm_posix_types | |
Cppm_stat | |
►Nppm_ptr_bnds_remap | |
Cptr_bnds_remap | |
►Nppm_rectilinear | Utility routines to use array of extents as rectilinear descriptor |
Crlcoord2lidx | |
Clidx2rlcoord | |
Cnum_neighbours_of_rect_elem | |
Clidx_nb_coords | |
Clidx_nb_indices | |
►Nppm_set_partition | |
Cgreedy_partitioning | |
►Nppm_set_partition_base | Basic routines and data structures for handling partitions |
Cpartition_vec | Succinct representation of partitioning, where elements(start(p):start(p+1)-1) contains the indices i of partition p |
Cset_i4 | Easily changeable partition descriptor, to be used as array of size n for description of partitioning into n partitions |
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 |
Cblock_decomposition | Describe range decomposed into non-overlapping contiguous ranges |
Coperator(==) | |
Coperator(/=) | |
Cassignment(=) | |
Cbalance_of_max | |
Cpartition_weight_sums | |
Cpart_size | |
Cppm_read_int_array | |
Cread_partitioning | |
Cwrite_partition | |
►Nppm_set_repartition | |
Crepartition_swap | |
Cswap_pair | |
►Nppm_sort | Generic sort implementations |
Cppm_qsort_i4_f | |
►Nppm_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 |
Cindex_sparse_nd | |
Cindex_from_mask | |
Cfold_mask | |
►Nppm_statistics | |
Carithmetic_mean | |
►Nppm_strided_extents | |
Cstrided_extent | |
Cextent_size | |
Cextent_start | |
Cextent_end | |
Cchar | |
Coperator(==) | |
►Nppm_strio_internal | |
Cfmt_elem | |
Cppm_sscana | |
►Nppm_uniform_partition | Compute uniform partitioning of n-dimensional rectilinear |
Cuniform_decomposition | |
Cpartidx_of_elem | |
►Npreconditioners | Preconditioners for symmetric 5-point stencil system |
Cidentity | Identity function |
Cprep_jacobi | Prepare Jacobi preconditioner |
Cjacobi | Jacobi preconditioner |
Cprep_ilu0 | Prepare ILU(0) preconditioner |
Cilu0 | Incomplete LU-decomposition with fill-in 0 |
Cssor | Symmetric, successive over-relaxation preconditioner |
Cprep_icc | Prepare ICC(p) preconditioner |
Cicc | (modified) incomplete Cholesky preconditioner with fill-in p |
Cprep_micc | Prepare modified ICC(p) preconditioner |
Cprecond_prepared | Determines if given preconditioner is prepared |
Cjacobi_precond_stencil | Stencil of the Jacobi preconditioned original stencil |
Cjacobi_precond_shifted_stencil | Shifted stencil of the Jacobi preconditioned original stencil |
Cilu0_precond_stencil | Stencil of the ILU(0) preconditioned original stencil |
Cilu0_precond_shifted_stencil | Shifted stencil of the ILU(0) preconditioned original stencil |
Cssor_precond_stencil | Stencil of the SSOR preconditioned original stencil |
Cssor_precond_shifted_stencil | Shifted stencil of the SSOR preconditioned original stencil |
Cicc_precond_stencil | Stencil of the (modified) ICC preconditioned original stencil |
Cicc_precond_shifted_stencil | Shifted stencil of the (modified) ICC preconditioned original stencil |
►Nsolver_all | Generic solve function and multi-precision iterative refinement |
Csolve | General solve function to solve Ax = b in single/double precision |
►Nsolver_config | Configuration for stencil and parameters |
Cstencil_defined | Determines if stencil is defined |
Cset_stencil | Set the stencil, i.e. matrix A |
Capply_stencil | Apply stencil, i.e. matrix vector multiplication |
Capply_shifted_stencil | Apply shifted stencil, i.e. shifted matrix vector multiplication |
►Nsolver_internal | Internal solver module |
Cstencil_type_sp | Stencil type, i.e. structure in single precision |
Cstencil_type_dp | Stencil type, i.e. structure in double precision |
Csolver_config_type | Type holding all configuration parameters |
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 |
Clinop | Stub function for linear operator |
Cexchangeop | Stub boundary exchange operation |
►Nsolvers | Solvers i.e. preconditioned CG, Chebyshev, Schwarz |
Cprecond_cg_method | Preconditioned CG method |
Ccg_method | CG method |
Cprecond_chebyshev_method | Preconditioned Chebyshev iteration |
Cchebyshev_method | Chebyshev iteration |
Cschwarz_method | Additive Schwarz method |
►Nspectral_methods | Functions to determine eigenvalues |
Cpower_method | Power method to determine largest absolute eigenvalue and vector |
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 |
Clocal_solver | Solver used by Schwarz method |
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 | |