Skip to content

Commit

Permalink
small fixes in build and functions iface
Browse files Browse the repository at this point in the history
  • Loading branch information
shssf committed Oct 3, 2020
1 parent b467748 commit 6a27f70
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 49 deletions.
20 changes: 12 additions & 8 deletions dpnp/backend/backend_iface.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,8 @@ INP_DLLEXPORT void custom_cov_c(void* array1_in, void* result1, size_t nrows, si
*
*/
template <typename _DataType>
INP_DLLEXPORT void custom_max_c(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
INP_DLLEXPORT void
custom_max_c(void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);

/**
* @ingroup BACKEND_API
Expand All @@ -268,7 +269,8 @@ INP_DLLEXPORT void custom_max_c(void* array1_in, void* result1, size_t* shape, s
*
*/
template <typename _DataType, typename _ResultType>
INP_DLLEXPORT void custom_mean_c(void* array, void* result, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
INP_DLLEXPORT void
custom_mean_c(void* array, void* result, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);

/**
* @ingroup BACKEND_API
Expand All @@ -288,7 +290,8 @@ INP_DLLEXPORT void custom_mean_c(void* array, void* result, size_t* shape, size_
*
*/
template <typename _DataType, typename _ResultType>
INP_DLLEXPORT void custom_median_c(void* array, void* result, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
INP_DLLEXPORT void
custom_median_c(void* array, void* result, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);

/**
* @ingroup BACKEND_API
Expand All @@ -308,7 +311,8 @@ INP_DLLEXPORT void custom_median_c(void* array, void* result, size_t* shape, siz
*
*/
template <typename _DataType>
INP_DLLEXPORT void custom_min_c(void* array, void* result, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
INP_DLLEXPORT void
custom_min_c(void* array, void* result, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);

/**
* @ingroup BACKEND_API
Expand Down Expand Up @@ -358,8 +362,8 @@ INP_DLLEXPORT void custom_argmin_c(void* array, void* result, size_t size);
*
*/
template <typename _DataType, typename _ResultType>
INP_DLLEXPORT void
custom_std_c(void* array, void* result, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
INP_DLLEXPORT void custom_std_c(
void* array, void* result, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);

/**
* @ingroup BACKEND_API
Expand All @@ -381,8 +385,8 @@ INP_DLLEXPORT void
*
*/
template <typename _DataType, typename _ResultType>
INP_DLLEXPORT void
custom_var_c(void* array, void* result, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
INP_DLLEXPORT void custom_var_c(
void* array, void* result, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);

#if 0 // Example for OpenCL kernel
template <typename _DataType>
Expand Down
84 changes: 45 additions & 39 deletions dpnp/backend/custom_kernels_statistics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,10 @@ template <typename _DataType>
class custom_max_c_kernel;

template <typename _DataType>
void custom_max_c(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis)
void custom_max_c(void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis)
{
__attribute__((unused)) void* tmp = (void*)(axis + naxis);

_DataType* array_1 = reinterpret_cast<_DataType*>(array1_in);
_DataType* result = reinterpret_cast<_DataType*>(result1);

Expand All @@ -167,16 +169,17 @@ void custom_max_c(void* array1_in, void* result1, size_t* shape, size_t ndim, si
#endif
}

template void
custom_max_c<double>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void
custom_max_c<float>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void
custom_max_c<long>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void custom_max_c<int>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void custom_max_c<double>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_max_c<float>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_max_c<long>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_max_c<int>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);

template <typename _DataType, typename _ResultType>
void custom_mean_c(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis)
void custom_mean_c(void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis)
{
_ResultType* result = reinterpret_cast<_ResultType*>(result1);

Expand All @@ -200,16 +203,16 @@ void custom_mean_c(void* array1_in, void* result1, size_t* shape, size_t ndim, s
}

template void custom_mean_c<double, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void
custom_mean_c<float, float>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void
custom_mean_c<long, double>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void
custom_mean_c<int, double>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_mean_c<float, float>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_mean_c<long, double>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_mean_c<int, double>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);

template <typename _DataType, typename _ResultType>
void custom_median_c(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis)
void custom_median_c(void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis)
{
_ResultType* result = reinterpret_cast<_ResultType*>(result1);

Expand Down Expand Up @@ -240,19 +243,19 @@ void custom_median_c(void* array1_in, void* result1, size_t* shape, size_t ndim,
}

template void custom_median_c<double, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_median_c<float, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_median_c<long, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_median_c<int, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);

template <typename _DataType>
class custom_min_c_kernel;

template <typename _DataType>
void custom_min_c(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis)
void custom_min_c(void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis)
{
_DataType* array_1 = reinterpret_cast<_DataType*>(array1_in);
_DataType* result = reinterpret_cast<_DataType*>(result1);
Expand All @@ -275,16 +278,18 @@ void custom_min_c(void* array1_in, void* result1, size_t* shape, size_t ndim, si
#endif
}

template void
custom_min_c<double>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void
custom_min_c<float>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void
custom_min_c<long>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void custom_min_c<int>(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis);
template void custom_min_c<double>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_min_c<float>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_min_c<long>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);
template void custom_min_c<int>(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis);

template <typename _DataType, typename _ResultType>
void custom_std_c(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof)
void custom_std_c(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof)
{
_DataType* array1 = reinterpret_cast<_DataType*>(array1_in);
_ResultType* result = reinterpret_cast<_ResultType*>(result1);
Expand All @@ -302,19 +307,20 @@ void custom_std_c(void* array1_in, void* result1, size_t* shape, size_t ndim, si
}

template void custom_std_c<int, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);
template void custom_std_c<long, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);
template void custom_std_c<float, float>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);
template void custom_std_c<double, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);

template <typename _DataType, typename _ResultType>
class custom_var_c_kernel;

template <typename _DataType, typename _ResultType>
void custom_var_c(void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof)
void custom_var_c(
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof)
{
cl::sycl::event event;
_DataType* array1 = reinterpret_cast<_DataType*>(array1_in);
Expand Down Expand Up @@ -362,10 +368,10 @@ void custom_var_c(void* array1_in, void* result1, size_t* shape, size_t ndim, si
}

template void custom_var_c<int, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);
template void custom_var_c<long, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);
template void custom_var_c<float, float>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);
template void custom_var_c<double, double>(
void* array1_in, void* result1, size_t* shape, size_t ndim, size_t* axis, size_t naxis, size_t ddof);
void* array1_in, void* result1, const size_t* shape, size_t ndim, const size_t* axis, size_t naxis, size_t ddof);
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,8 @@
"include_dirs": _mkl_include + _project_backend_dir + _dpctrl_include,
"library_dirs": _mkl_libpath + _omp_libpath + _dpctrl_libpath,
"runtime_library_dirs": _project_rpath + _mkl_rpath + _cmplr_rpath + _omp_rpath + _dpctrl_libpath,
"extra_preargs": _project_cmplr_flag_sycl + _project_cmplr_flag_compatibility,
"extra_preargs": _project_cmplr_flag_sycl,
"extra_link_preargs": _project_cmplr_flag_compatibility,
"extra_link_postargs": [],
"libraries": _mkl_libs + _dpctrl_lib,
"macros": _project_cmplr_macro,
Expand Down
3 changes: 2 additions & 1 deletion utils/command_build_clib.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ def build_libraries(self, libraries):
runtime_library_dirs = build_info.get("runtime_library_dirs")
extra_preargs = build_info.get("extra_preargs")
extra_link_postargs = build_info.get("extra_link_postargs")
extra_link_preargs = build_info.get("extra_link_preargs")
force_build = build_info.get("force_build")
compiler = build_info.get("compiler")
linker = build_info.get("linker")
Expand Down Expand Up @@ -121,7 +122,7 @@ def build_libraries(self, libraries):
libraries=libraries,
library_dirs=library_dirs,
runtime_library_dirs=runtime_library_dirs,
extra_preargs=extra_preargs,
extra_preargs=extra_preargs + extra_link_preargs,
extra_postargs=extra_link_postargs,
debug=self.debug,
build_temp=self.build_temp,
Expand Down

0 comments on commit 6a27f70

Please sign in to comment.