33
44#ifdef __DSP
55#include " source_base/kernels/dsp/dsp_connector.h"
6- #include " source_base/global_variable.h"
7- #include " source_io/module_parameter/parameter.h"
6+
7+ int BlasConnector::dsp_cluster_id_ = 0 ;
8+
9+ void BlasConnector::set_dsp_cluster_id (int id)
10+ {
11+ dsp_cluster_id_ = id;
12+ }
813#endif
914
1015#ifdef __CUDA
@@ -31,7 +36,7 @@ void BlasConnector::gemm(const char transa, const char transb, const int m, cons
3136 else if (device_type == base_device::AbacusDevice_t::DspDevice){
3237 mtfunc::sgemm_mth_ (&transb, &transa, &n, &m, &k,
3338 &alpha, b, &ldb, a, &lda,
34- &beta, c, &ldc, GlobalV:: MY_RANK % PARAM . inp . dsp_count );
39+ &beta, c, &ldc, BlasConnector::dsp_cluster_id_ );
3540 }
3641#endif
3742#ifdef __CUDA
@@ -68,7 +73,7 @@ void BlasConnector::gemm(const char transa,
6873#ifdef __DSP
6974 else if (device_type == base_device::AbacusDevice_t::DspDevice)
7075 {
71- mtfunc::dgemm_mth_ (&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, GlobalV:: MY_RANK % PARAM . inp . dsp_count );
76+ mtfunc::dgemm_mth_ (&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, BlasConnector::dsp_cluster_id_ );
7277 }
7378#endif
7479 else if (device_type == base_device::AbacusDevice_t::GpuDevice)
@@ -107,7 +112,7 @@ void BlasConnector::gemm(const char transa,
107112#ifdef __DSP
108113 else if (device_type == base_device::AbacusDevice_t::DspDevice)
109114 {
110- mtfunc::cgemm_pack_mth_ (&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, GlobalV:: MY_RANK % PARAM . inp . dsp_count );
115+ mtfunc::cgemm_pack_mth_ (&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, BlasConnector::dsp_cluster_id_ );
111116 // cgemm_mth_ for raw dsp mth;
112117 // cgemm_pack_mth_ for dsp mth with memcpy to DSP buffer
113118 }
@@ -160,7 +165,7 @@ void BlasConnector::gemm(const char transa,
160165#ifdef __DSP
161166 else if (device_type == base_device::AbacusDevice_t::DspDevice)
162167 {
163- mtfunc::zgemm_pack_mth_ (&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, GlobalV:: MY_RANK % PARAM . inp . dsp_count );
168+ mtfunc::zgemm_pack_mth_ (&transb, &transa, &n, &m, &k, &alpha, b, &ldb, a, &lda, &beta, c, &ldc, BlasConnector::dsp_cluster_id_ );
164169 // zgemm_mth_ for raw dsp mth;
165170 // zgemm_pack_mth_ for dsp mth with memcpy to DSP buffer
166171 }
@@ -205,7 +210,7 @@ void BlasConnector::gemm_cm(const char transa, const char transb, const int m, c
205210 else if (device_type == base_device::AbacusDevice_t::DspDevice){
206211 mtfunc::sgemm_mth_ (&transb, &transa, &m, &n, &k,
207212 &alpha, a, &lda, b, &ldb,
208- &beta, c, &ldc, GlobalV:: MY_RANK % PARAM . inp . dsp_count );
213+ &beta, c, &ldc, BlasConnector::dsp_cluster_id_ );
209214 }
210215#endif
211216#ifdef __CUDA
@@ -242,7 +247,7 @@ void BlasConnector::gemm_cm(const char transa,
242247#ifdef __DSP
243248 else if (device_type == base_device::AbacusDevice_t::DspDevice)
244249 {
245- mtfunc::dgemm_mth_ (&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, GlobalV:: MY_RANK % PARAM . inp . dsp_count );
250+ mtfunc::dgemm_mth_ (&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, BlasConnector::dsp_cluster_id_ );
246251 }
247252#endif
248253#ifdef __CUDA
@@ -281,7 +286,7 @@ void BlasConnector::gemm_cm(const char transa,
281286#ifdef __DSP
282287 else if (device_type == base_device::AbacusDevice_t::DspDevice)
283288 {
284- mtfunc::cgemm_pack_mth_ (&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, GlobalV:: MY_RANK % PARAM . inp . dsp_count );
289+ mtfunc::cgemm_pack_mth_ (&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, BlasConnector::dsp_cluster_id_ );
285290 // cgemm_mth_ for raw dsp mth;
286291 // cgemm_pack_mth_ for dsp mth with memcpy to DSP buffer
287292 }
@@ -334,7 +339,7 @@ void BlasConnector::gemm_cm(const char transa,
334339#ifdef __DSP
335340 else if (device_type == base_device::AbacusDevice_t::DspDevice)
336341 {
337- mtfunc::zgemm_pack_mth_ (&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, GlobalV:: MY_RANK % PARAM . inp . dsp_count );
342+ mtfunc::zgemm_pack_mth_ (&transa, &transb, &m, &n, &k, &alpha, a, &lda, b, &ldb, &beta, c, &ldc, BlasConnector::dsp_cluster_id_ );
338343 // zgemm_mth_ for raw dsp mth;
339344 // zgemm_pack_mth_ for dsp mth with memcpy to DSP buffer
340345 }
@@ -527,7 +532,7 @@ void BlasConnector::gemv(const char trans, const int m, const int n,
527532 &beta,
528533 Y,
529534 &incy,
530- GlobalV:: MY_RANK % PARAM . inp . dsp_count );
535+ BlasConnector::dsp_cluster_id_ );
531536 }
532537#endif
533538#ifdef __CUDA
@@ -561,7 +566,7 @@ void BlasConnector::gemv(const char trans, const int m, const int n,
561566 &beta,
562567 Y,
563568 &incy,
564- GlobalV:: MY_RANK % PARAM . inp . dsp_count );
569+ BlasConnector::dsp_cluster_id_ );
565570 }
566571#endif
567572#ifdef __CUDA
@@ -595,7 +600,7 @@ void BlasConnector::gemv(const char trans, const int m, const int n,
595600 &beta,
596601 Y,
597602 &incy,
598- GlobalV:: MY_RANK % PARAM . inp . dsp_count );
603+ BlasConnector::dsp_cluster_id_ );
599604 }
600605#endif
601606#ifdef __CUDA
@@ -631,7 +636,7 @@ void BlasConnector::gemv(const char trans, const int m, const int n,
631636 &beta,
632637 Y,
633638 &incy,
634- GlobalV:: MY_RANK % PARAM . inp . dsp_count );
639+ BlasConnector::dsp_cluster_id_ );
635640 }
636641#endif
637642#ifdef __CUDA
0 commit comments