Révision 9 src/blas/HPL_dgemm.c

HPL_dgemm.c (revision 9)
513 513
#endif
514 514
   }
515 515
#endif
516

  
517
#ifdef HPL_CALL_CUBLAS
518
   double                    alpha = ALPHA, beta = BETA;
519

  
520
   int                       IONE = 1;
521

  
522
#define CUBLASM                 M
523
#define CUBLASN                 N
524
#define CUBLASK                 K
525
#define CUBLASlda               LDA
526
#define CUBLASldb               LDB
527
#define CUBLASldc               LDC
528

  
529
   char                      ctransa, ctransb;
530

  
531
   if(      TRANSA == HplNoTrans ) ctransa = 'N';
532
   else if( TRANSA == HplTrans   ) ctransa = 'T';
533
   else                            ctransa = 'C';
534
 
535
   if(      TRANSB == HplNoTrans ) ctransb = 'N';
536
   else if( TRANSB == HplTrans   ) ctransb = 'T';
537
   else                            ctransb = 'C';
538

  
539
   if( ORDER == HplColumnMajor )
540
   {
541
      CUBLAS_DGEMM( &ctransa, &ctransb, &CUBLASM, &CUBLASN, &CUBLASK, 
542
		    &alpha, A, &CUBLASlda, B, &CUBLASldb, &beta, C, &CUBLASldc,
543
		    &IONE, &IONE );
544
   }
545
   else
546
   {
547
      CUBLAS_DGEMM( &ctransb, &ctransa, &CUBLASN, &CUBLASM, &CUBLASK, 
548
		    &alpha, B, &CUBLASldb, A, &CUBLASlda, &beta, C, &CUBLASldc,
549
		    &IONE, &IONE );
550
   }
551
#endif
516 552
/*
517 553
 * End of HPL_dgemm
518 554
 */

Formats disponibles : Unified diff