mkl_cluster_sparse_solver.h 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /*******************************************************************************
  2. * Copyright 1999-2022 Intel Corporation.
  3. *
  4. * This software and the related documents are Intel copyrighted materials, and
  5. * your use of them is governed by the express license under which they were
  6. * provided to you (License). Unless the License provides otherwise, you may not
  7. * use, modify, copy, publish, distribute, disclose or transmit this software or
  8. * the related documents without Intel's prior written permission.
  9. *
  10. * This software and the related documents are provided as is, with no express
  11. * or implied warranties, other than those that are expressly stated in the
  12. * License.
  13. *******************************************************************************/
  14. /*
  15. ! Content:
  16. ! Intel(R) oneAPI Math Kernel Library (oneMKL) C/C++ interface for
  17. ! Cluster Sparse Solver
  18. !******************************************************************************/
  19. #if !defined( __MKL_CLUSTER_SPARSE_SOLVER_H )
  20. #include "mkl_types.h"
  21. #define __MKL_CLUSTER_SPARSE_SOLVER_H
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif /* __cplusplus */
  25. void cluster_sparse_solver(
  26. void *, const MKL_INT *, const MKL_INT *, const MKL_INT *, const MKL_INT *, const MKL_INT *,
  27. const void *, const MKL_INT *, const MKL_INT *, MKL_INT *, const MKL_INT *, MKL_INT *,
  28. const MKL_INT *, void *, void *, const int *, MKL_INT *);
  29. void CLUSTER_SPARSE_SOLVER(
  30. void *, const MKL_INT *, const MKL_INT *, const MKL_INT *, const MKL_INT *, const MKL_INT *,
  31. const void *, const MKL_INT *, const MKL_INT *, MKL_INT *, const MKL_INT *, MKL_INT *,
  32. const MKL_INT *, void *, void *, const int *, MKL_INT *);
  33. void cluster_sparse_solver_64(
  34. void *, const long long int *, const long long int *, const long long int *, const long long int *, const long long int *,
  35. const void *, const long long int *, const long long int *, long long int *, const long long int *, long long int *,
  36. const long long int *, void *, void *, const int *, long long int *);
  37. void CLUSTER_SPARSE_SOLVER_64(
  38. void *, const long long int *, const long long int *, const long long int *, const long long int *, const long long int *,
  39. const void *, const long long int *, const long long int *, long long int *, const long long int *, long long int *,
  40. const long long int *, void *, void *, const int *, long long int *);
  41. typedef enum mkl_dss_export_data {DSS_EXPORT_DATA_MIN = 0,
  42. SPARSE_PTLUQT_L = 0,
  43. SPARSE_PTLUQT_U,
  44. SPARSE_PTLUQT_P,
  45. SPARSE_PTLUQT_Q,
  46. SPARSE_DPTLUQT_L,
  47. SPARSE_DPTLUQT_U,
  48. SPARSE_DPTLUQT_P,
  49. SPARSE_DPTLUQT_Q,
  50. SPARSE_DPTLUQT_D,
  51. DSS_EXPORT_DATA_MAX = SPARSE_DPTLUQT_D} _MKL_DSS_EXPORT_DATA;
  52. typedef enum mkl_dss_export_operation {DSS_EXPORT_OPERATION_MIN = 0,
  53. SPARSE_PTLUQT = 0,
  54. SPARSE_DPTLUQT,
  55. DSS_EXPORT_OPERATION_MAX = SPARSE_DPTLUQT} _MKL_DSS_EXPORT_OPERATION;
  56. void cluster_sparse_solver_get_csr_size(void *, const int, MKL_INT *, MKL_INT *, const int *, MKL_INT *);
  57. void cluster_sparse_solver_set_csr_ptrs(void *, const int, MKL_INT *, MKL_INT *, void *, const int *, MKL_INT *);
  58. void cluster_sparse_solver_set_ptr(void *, const int, void *, const int *, MKL_INT *);
  59. void cluster_sparse_solver_export(void *, const int, const int *, MKL_INT *);
  60. #ifdef __cplusplus
  61. }
  62. #endif /* __cplusplus */
  63. #endif