diff --git a/src/care/KeyValueSorter_decl.h b/src/care/KeyValueSorter_decl.h index f231faf5..514ebf34 100644 --- a/src/care/KeyValueSorter_decl.h +++ b/src/care/KeyValueSorter_decl.h @@ -31,7 +31,7 @@ namespace care { /// to make this GPU friendly. /////////////////////////////////////////////////////////////////////////// template -class CARE_DLL_API KeyValueSorter; +class CARE_KEY_VALUE_SORTER_DLL_API KeyValueSorter; /// LocalKeyValueSorter should be used as the type for HOSTDEV functions /// to indicate that the function should only be called in a RAJA context. @@ -127,7 +127,7 @@ size_t eliminateKeyValueDuplicates(host_device_ptr& newKeys, /// arrays to be compatible with sortKeyValueArrays. /////////////////////////////////////////////////////////////////////////// template -class CARE_DLL_API KeyValueSorter { +class CARE_KEY_VALUE_SORTER_DLL_API KeyValueSorter { public: /////////////////////////////////////////////////////////////////////////// @@ -854,7 +854,7 @@ void initializeValueArray(host_device_ptr& values, const host_device_ /// the need for copying the keys and values into separate arrays after the sort. /////////////////////////////////////////////////////////////////////////// template -class CARE_DLL_API KeyValueSorter { +class CARE_KEY_VALUE_SORTER_DLL_API KeyValueSorter { public: /////////////////////////////////////////////////////////////////////////// diff --git a/src/care/KeyValueSorter_inst.h b/src/care/KeyValueSorter_inst.h index 991564a0..4f150268 100644 --- a/src/care/KeyValueSorter_inst.h +++ b/src/care/KeyValueSorter_inst.h @@ -32,30 +32,32 @@ namespace care { - CARE_EXTERN template CARE_DLL_API void setKeyValueArraysFromArray(host_device_ptr<_kv > &, const size_t, const CARE_TEMPLATE_ARRAY_TYPE*); - CARE_EXTERN template CARE_DLL_API void setKeyValueArraysFromManagedArray(host_device_ptr<_kv > &, const size_t, const host_device_ptr&); - CARE_EXTERN template CARE_DLL_API size_t eliminateKeyValueDuplicates(host_device_ptr<_kv > &, const size_t); - CARE_EXTERN template CARE_DLL_API void initializeKeyArray(host_device_ptr&, const host_device_ptr >&, const size_t); - CARE_EXTERN template CARE_DLL_API void initializeValueArray(host_device_ptr&, const host_device_ptr >&, const size_t); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void setKeyValueArraysFromArray(host_device_ptr<_kv > &, const size_t, const CARE_TEMPLATE_ARRAY_TYPE*); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void setKeyValueArraysFromManagedArray(host_device_ptr<_kv > &, const size_t, const host_device_ptr&); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API size_t eliminateKeyValueDuplicates(host_device_ptr<_kv > &, const size_t); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void initializeKeyArray(host_device_ptr&, const host_device_ptr >&, const size_t); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void initializeValueArray(host_device_ptr&, const host_device_ptr >&, const size_t); #if !CARE_ENABLE_GPU_SIMULATION_MODE - CARE_EXTERN template class CARE_DLL_API KeyValueSorter; - CARE_EXTERN template CARE_DLL_API void IntersectKeyValueSorters(RAJA::seq_exec, KeyValueSorter, int, KeyValueSorter, int, host_device_ptr &, host_device_ptr &, int &); - CARE_EXTERN template CARE_DLL_API void sortKeyValueArrays(host_device_ptr &, host_device_ptr &, const size_t, const size_t, const bool); + CARE_EXTERN template class CARE_KEY_VALUE_SORTER_DLL_API KeyValueSorter; + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void IntersectKeyValueSorters(RAJA::seq_exec, KeyValueSorter, int, KeyValueSorter, int, host_device_ptr &, host_device_ptr &, int &); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void sortKeyValueArrays(host_device_ptr &, host_device_ptr &, const size_t, const size_t, const bool); #endif // !CARE_ENABLE_GPU_SIMULATION_MODE #if defined(CARE_PARALLEL_DEVICE) || CARE_ENABLE_GPU_SIMULATION_MODE - CARE_EXTERN template CARE_DLL_API void sortKeyValueArrays(host_device_ptr &, host_device_ptr &, const size_t, const size_t, const bool); - CARE_EXTERN template CARE_DLL_API void setKeyValueArraysFromArray(host_device_ptr &, host_device_ptr &, const size_t, const CARE_TEMPLATE_ARRAY_TYPE*); - CARE_EXTERN template CARE_DLL_API void setKeyValueArraysFromManagedArray(host_device_ptr &, host_device_ptr &, const size_t, const host_device_ptr&); - CARE_EXTERN template CARE_DLL_API size_t eliminateKeyValueDuplicates(host_device_ptr&, host_device_ptr&, const host_device_ptr&, const host_device_ptr&, const size_t); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void sortKeyValueArrays(host_device_ptr &, host_device_ptr &, const size_t, const size_t, const bool); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void setKeyValueArraysFromArray(host_device_ptr &, host_device_ptr &, const size_t, const CARE_TEMPLATE_ARRAY_TYPE*); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void setKeyValueArraysFromManagedArray(host_device_ptr &, host_device_ptr &, const size_t, const host_device_ptr&); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API size_t eliminateKeyValueDuplicates(host_device_ptr&, host_device_ptr&, const host_device_ptr&, const host_device_ptr&, const size_t); - CARE_EXTERN template class CARE_DLL_API KeyValueSorter; + CARE_EXTERN template class CARE_KEY_VALUE_SORTER_DLL_API KeyValueSorter; - CARE_EXTERN template CARE_DLL_API void IntersectKeyValueSorters(RAJADeviceExec, KeyValueSorter, int, KeyValueSorter, int, host_device_ptr &, host_device_ptr &, int &); + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void IntersectKeyValueSorters(RAJADeviceExec, KeyValueSorter, int, KeyValueSorter, int, host_device_ptr &, host_device_ptr &, int &); + + CARE_EXTERN template CARE_KEY_VALUE_SORTER_DLL_API void IntersectKeyValueSorters(RAJADeviceExec, KeyValueSorter, size_t, KeyValueSorter, size_t, host_device_ptr &, host_device_ptr&, size_t&); #endif // defined(CARE_PARALLEL_DEVICE) || CARE_ENABLE_GPU_SIMULATION_MODE diff --git a/src/care/config.h.in b/src/care/config.h.in index 1105eb48..f64888b7 100644 --- a/src/care/config.h.in +++ b/src/care/config.h.in @@ -47,6 +47,10 @@ #define CARE_DLL_API #endif // defined(_WIN32) && !defined(CARESTATICLIB) +#ifndef CARE_KEY_VALUE_SORTER_DLL_API +#define CARE_KEY_VALUE_SORTER_DLL_API CARE_DLL_API +#endif + #define CARE_STRINGIFY(x) CARE_DO_STRINGIFY(x) #define CARE_DO_STRINGIFY(x) #x #ifdef _WIN32