Commit b537ac96 authored by Thomas Jahns's avatar Thomas Jahns 🤸
Browse files

Use symbol hiding.

parent 281dba41
......@@ -51,7 +51,9 @@
#include <config.h>
#endif
void
#include "core/ppm_visibility.h"
PPM_DSO_INTERNAL void
xt_realloc_array(void **array, size_t elem_size, size_t *curr_array_size,
size_t requested_size);
......
......@@ -50,8 +50,9 @@
#include <mpi.h>
#include <xt/xt_redist.h>
#include <xt/xt_config.h>
#include "core/ppm_visibility.h"
#include "xt/xt_redist.h"
#include "xt/xt_config.h"
#include "xt_exchanger.h"
struct Xt_config_ {
......@@ -68,7 +69,7 @@ struct Xt_config_ {
extern struct Xt_config_ xt_default_config;
void
PPM_DSO_INTERNAL void
xt_config_defaults_init(void);
/*
......
......@@ -53,6 +53,7 @@
#include <stdbool.h>
#include <stdlib.h>
#include "core/ppm_visibility.h"
#include "xt/xt_core.h"
struct Xt_pos_ext_vec {
......@@ -64,11 +65,11 @@ struct Xt_pos_range {
int start, end;
};
void
PPM_DSO_INTERNAL void
xt_cover_start(struct Xt_pos_ext_vec *restrict cover,
size_t initial_size);
void
PPM_DSO_INTERNAL void
xt_cover_finish(struct Xt_pos_ext_vec *restrict cover);
/**
......@@ -84,7 +85,7 @@ xt_cover_finish(struct Xt_pos_ext_vec *restrict cover);
* @return index of first position extent in cover that overlaps or is
* adjacent to \a query
*/
size_t
PPM_DSO_INTERNAL size_t
xt_cover_search(struct Xt_pos_ext_vec *restrict cover,
struct Xt_pos_range query, bool forward,
size_t search_start_pos);
......@@ -95,7 +96,7 @@ xt_cover_search(struct Xt_pos_ext_vec *restrict cover,
* @note user must ensure range actually is appendable, i.e. does not
* overlap or precede an existing range in \a cover
*/
void
PPM_DSO_INTERNAL void
xt_cover_range_append(struct Xt_pos_ext_vec *restrict cover,
struct Xt_pos_ext range);
......@@ -114,7 +115,7 @@ xt_cover_range_append(struct Xt_pos_ext_vec *restrict cover,
* @return SIZE_MAX if \a range could be fully integrated with \a
* cover, position \a i of overlapping \a cover.pos_ext[i] otherwise
*/
size_t
PPM_DSO_INTERNAL size_t
xt_cover_insert_or_overlap(struct Xt_pos_ext_vec *restrict cover,
struct Xt_pos_range range, bool forward,
size_t search_start_pos);
......@@ -122,7 +123,7 @@ xt_cover_insert_or_overlap(struct Xt_pos_ext_vec *restrict cover,
/**
* tests if sorted pos_ext in \a coverage do indeed fully cover \a idxlist
*/
bool
PPM_DSO_INTERNAL bool
xt_idxlist_pos_ext_is_full_cover(Xt_idxlist idxlist,
struct Xt_pos_ext_vec cover);
......
......@@ -51,12 +51,13 @@
#include <config.h>
#endif
#include "core/ppm_visibility.h"
#include "xt/xt_core.h"
void
PPM_DSO_INTERNAL void
xt_idxempty_init(void);
void
PPM_DSO_INTERNAL void
xt_idxempty_finalize(void);
#endif // XT_IDXEMPTY_INTERNAL_H
......
......@@ -50,9 +50,10 @@
#include <config.h>
#endif
#include "core/ppm_visibility.h"
#include "xt/xt_idxlist.h"
Xt_idxlist
PPM_DSO_INTERNAL Xt_idxlist
xt_idxlist_collection_get_intersection(Xt_idxlist idxlist_src,
Xt_idxlist idxlist_dst,
Xt_config config);
......
......@@ -51,6 +51,7 @@
#include <config.h>
#endif
#include "core/ppm_visibility.h"
#include "xt/xt_config.h"
#include "xt/xt_core.h"
#include "xt/xt_idxlist.h"
......@@ -85,7 +86,7 @@ struct xt_idxlist_vtable {
int idxlist_pack_code;
};
void
PPM_DSO_INTERNAL void
xt_idxlist_get_index_stripes_keep_buf(Xt_idxlist idxlist,
struct Xt_stripe ** stripes,
int * num_stripes);
......@@ -96,9 +97,9 @@ struct Xt_idxlist_ {
Xt_uid uid;
};
void xt_idxlist_intersection_init(void);
PPM_DSO_INTERNAL void xt_idxlist_intersection_init(void);
Xt_uid xt_idxlist_new_uid(void);
PPM_DSO_INTERNAL Xt_uid xt_idxlist_new_uid(void);
static inline void Xt_idxlist_init(Xt_idxlist idxlist,
const struct xt_idxlist_vtable *vtable,
......@@ -109,7 +110,7 @@ static inline void Xt_idxlist_init(Xt_idxlist idxlist,
idxlist->num_indices = num_indices;
}
Xt_idxlist
PPM_DSO_INTERNAL Xt_idxlist
xt_default_isect(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst,
Xt_config config);
......
......@@ -50,19 +50,20 @@
#include <config.h>
#endif
#include "core/ppm_visibility.h"
#include "xt/xt_idxlist.h"
void
PPM_DSO_INTERNAL void
xt_idxsection_initialize(void);
void
PPM_DSO_INTERNAL void
xt_idxsection_finalize(void);
Xt_idxlist
PPM_DSO_INTERNAL Xt_idxlist
xt_idxsection_get_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst,
Xt_config config);
Xt_idxlist
PPM_DSO_INTERNAL Xt_idxlist
xt_idxsection_get_intersection_with_other_idxlist(
Xt_idxlist src_idxsection, Xt_idxlist dst_idxlist, Xt_config config);
......
......@@ -52,17 +52,18 @@
#include <stdbool.h>
#include "core/ppm_visibility.h"
#include "xt/xt_core.h"
#include "xt/xt_idxlist.h"
#include "xt_arithmetic_util.h"
void
PPM_DSO_INTERNAL void
xt_idxstripes_initialize(void);
void
PPM_DSO_INTERNAL void
xt_idxstripes_finalize(void);
Xt_idxlist
PPM_DSO_INTERNAL Xt_idxlist
xt_idxstripes_get_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst,
Xt_config config);
......@@ -73,7 +74,7 @@ xt_idxstripes_get_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst,
* @param[in] stripes array defining the stripes
* @param[in] num_stripes number of stripes
*/
Xt_idxlist
PPM_DSO_INTERNAL Xt_idxlist
xt_idxstripes_prealloc_new(struct Xt_stripe const * stripes, int num_stripes);
/**
......
......@@ -50,14 +50,15 @@
#include <config.h>
#endif
#include "core/ppm_visibility.h"
#include "xt/xt_core.h"
#include "xt/xt_idxlist.h"
Xt_idxlist
PPM_DSO_INTERNAL Xt_idxlist
xt_idxvec_get_intersection(Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst,
Xt_config config);
Xt_idxlist
PPM_DSO_INTERNAL Xt_idxlist
xt_idxvec_prealloc_new(const Xt_int *idxvec, int num_indices);
#endif
......
......@@ -53,6 +53,8 @@
#include <stdbool.h>
#include <mpi.h>
#include "core/ppm_visibility.h"
/** \example test_mpi_smartdedup.c
*/
......@@ -68,15 +70,15 @@ enum xt_mpi_tags {
extern int xt_mpi_comm_internal_keyval;
void
PPM_DSO_INTERNAL void
xt_mpi_init(void);
void
PPM_DSO_INTERNAL void
xt_mpi_finalize(void);
MPI_Comm
PPM_DSO_INTERNAL MPI_Comm
xt_mpi_comm_smart_dup(MPI_Comm comm, int *tag_offset);
void
PPM_DSO_INTERNAL void
xt_mpi_comm_smart_dedup(MPI_Comm *comm, int tag_offset);
/**
......@@ -92,7 +94,7 @@ xt_mpi_comm_smart_dedup(MPI_Comm *comm, int tag_offset);
* is used as temporary scratch space and overwritten
* @param[in] comm communicator to use for failure notifications
*/
bool
PPM_DSO_INTERNAL bool
xt_mpi_test_some(int *restrict num_req,
MPI_Request req[],
int ops_completed[], MPI_Comm comm);
......
......@@ -57,6 +57,7 @@
#include <stdlib.h>
#include <mpi.h>
#include "core/ppm_visibility.h"
#include "xt/xt_redist.h"
#include "xt/xt_request.h"
......@@ -80,7 +81,7 @@ struct Xt_redist_ {
const struct xt_redist_vtable *vtable;
};
void
PPM_DSO_INTERNAL void
xt_redist_msgs_strided_copy(size_t n,
const struct Xt_redist_msg *restrict src,
size_t src_stride,
......@@ -88,8 +89,9 @@ xt_redist_msgs_strided_copy(size_t n,
size_t dst_stride,
MPI_Comm comm);
void xt_redist_msgs_strided_destruct(size_t n, struct Xt_redist_msg *msgs,
MPI_Comm comm, size_t ofs_stride);
PPM_DSO_INTERNAL void
xt_redist_msgs_strided_destruct(size_t n, struct Xt_redist_msg *msgs,
MPI_Comm comm, size_t ofs_stride);
static inline void
xt_redist_msgs_free(size_t n, struct Xt_redist_msg *msgs, MPI_Comm comm)
......@@ -107,7 +109,8 @@ xt_redist_msgs_free(size_t n, struct Xt_redist_msg *msgs, MPI_Comm comm)
* @param[in] comm reference communicator
* @remark In case this check fails, it will abort the program.
*/
void xt_redist_check_comms(Xt_redist *redists, int num_redists, MPI_Comm comm);
PPM_DSO_INTERNAL void
xt_redist_check_comms(Xt_redist *redists, int num_redists, MPI_Comm comm);
/**
* Gets the ranks of all processes that receive data from/send data to the local
......@@ -120,8 +123,9 @@ void xt_redist_check_comms(Xt_redist *redists, int num_redists, MPI_Comm comm);
* @remark the user needs to ensure that array ranks is big enough to hold all
* ranks
*/
int xt_redist_get_msg_ranks(Xt_redist redist, enum xt_msg_direction direction,
int *restrict *ranks);
PPM_DSO_INTERNAL int
xt_redist_get_msg_ranks(Xt_redist redist, enum xt_msg_direction direction,
int *restrict *ranks);
/**
* Gets a MPI derived datatype that encodes all data sent/received in a
......@@ -133,8 +137,9 @@ int xt_redist_get_msg_ranks(Xt_redist redist, enum xt_msg_direction direction,
* @return Datatype for the specified message. The return value is
* MPI_DATATYPE_NULL, if no data for the specified message.
*/
MPI_Datatype xt_redist_get_MPI_Datatype(Xt_redist redist, int rank,
enum xt_msg_direction direction);
PPM_DSO_INTERNAL MPI_Datatype
xt_redist_get_MPI_Datatype(Xt_redist redist, int rank,
enum xt_msg_direction direction);
/**
* Generates a new MPI derived datatype from a number of MPI derived datatypes.
......@@ -145,7 +150,7 @@ MPI_Datatype xt_redist_get_MPI_Datatype(Xt_redist redist, int rank,
* @param[in] comm communicator
* @return new MPI derived datatype
*/
MPI_Datatype
PPM_DSO_INTERNAL MPI_Datatype
xt_create_compound_datatype(size_t count,
const MPI_Aint displacements[count],
const MPI_Datatype datatypes[count],
......@@ -166,7 +171,7 @@ xt_create_compound_datatype(size_t count,
* @remark the user needs to ensure that rank arrays are big enough to hold all
* ranks
*/
unsigned
PPM_DSO_INTERNAL unsigned
xt_redist_agg_msg_count(size_t num_redists, enum xt_msg_direction direction,
const Xt_redist redists[num_redists],
size_t num_ranks[num_redists],
......
......@@ -46,7 +46,9 @@
#ifndef XT_SORT_INTERNAL_H
#define XT_SORT_INTERNAL_H
void xt_sort_init(void);
#include "core/ppm_visibility.h"
PPM_DSO_INTERNAL void xt_sort_init(void);
#endif
......
......@@ -55,6 +55,7 @@
#include "xt/xt_stripe.h"
#include "core/ppm_visibility.h"
#include "xt_arithmetic_util.h"
struct Xt_stripe_minmax {
......@@ -82,7 +83,7 @@ xt_stripes_overlap(struct Xt_stripe a, struct Xt_stripe b) {
return (mma.max >= mmb.min) & (mma.min <= mmb.max);
}
void
PPM_DSO_INTERNAL void
xt_convert_indices_to_stripes_keep_buf(const Xt_int *restrict indices,
int num_indices,
struct Xt_stripe **stripes,
......@@ -101,7 +102,7 @@ xt_convert_indices_to_stripes_keep_buf(const Xt_int *restrict indices,
* @return number of stripes written to stripes_dst
*
*/
size_t
PPM_DSO_INTERNAL size_t
xt_stripes_merge_copy(size_t num_stripes,
struct Xt_stripe *stripes_dst,
const struct Xt_stripe *stripes_src,
......
......@@ -54,6 +54,7 @@
#include <stdbool.h>
#include "core/ppm_visibility.h"
#include "xt/xt_idxlist.h"
#include "xt/xt_xmap_intersection.h"
......@@ -65,10 +66,10 @@ struct dist_dir {
struct Xt_com_list entries[];
};
void
PPM_DSO_INTERNAL void
xt_xmdd_free_dist_dir(struct dist_dir *dist_dir);
int
PPM_DSO_INTERNAL int
xt_com_list_rank_cmp(const void *a_, const void *b_);
struct bucket_params {
......@@ -76,7 +77,7 @@ struct bucket_params {
local_index_range_lbound, local_index_range_ubound;
};
Xt_idxlist
PPM_DSO_INTERNAL Xt_idxlist
xt_xmap_dist_dir_get_bucket(const struct bucket_params *bucket_params,
struct Xt_stripe **stripes_,
size_t *stripes_array_size,
......@@ -120,18 +121,18 @@ struct isect
Xt_idxlist idxlist;
};
int
PPM_DSO_INTERNAL int
xt_xmdd_cmp_isect_src_rank(const void *a_, const void *b_);
int
PPM_DSO_INTERNAL int
xt_xmdd_cmp_isect_dst_rank(const void *a_, const void *b_);
size_t
PPM_DSO_INTERNAL size_t
xt_xmap_dist_dir_match_src_dst(const struct dist_dir *src_dist_dir,
const struct dist_dir *dst_dist_dir,
struct isect **src_dst_intersections);
size_t
PPM_DSO_INTERNAL size_t
xt_xmap_dist_dir_pack_intersections(
enum xt_xmdd_direction target,
size_t num_intersections,
......@@ -142,7 +143,7 @@ xt_xmap_dist_dir_pack_intersections(
unsigned char *buffer, size_t buf_size, size_t *ofs, MPI_Comm comm);
void
PPM_DSO_INTERNAL void
xt_xmap_dist_dir_same_rank_merge(struct dist_dir **dist_dir_results);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment