Go to the documentation of this file.
11#ifndef FLASH_QUEUE_MACRO_DEFS_H
12#define FLASH_QUEUE_MACRO_DEFS_H
15#ifdef FLA_ENABLE_SUPERMATRIX
18#define FLASH_OBJ_PTR_ID( A ) ( A ).base->id
21#define FLASH_QUEUE_VERBOSE_NONE 0
22#define FLASH_QUEUE_VERBOSE_READABLE 1
23#define FLASH_QUEUE_VERBOSE_GRAPHVIZ 2
26#define FLASH_QUEUE_AFFINITY_NONE 0
27#define FLASH_QUEUE_AFFINITY_2D_BLOCK_CYCLIC 1
28#define FLASH_QUEUE_AFFINITY_1D_ROW_BLOCK_CYCLIC 2
29#define FLASH_QUEUE_AFFINITY_1D_COLUMN_BLOCK_CYCLIC 3
30#define FLASH_QUEUE_AFFINITY_ROUND_ROBIN 4
39#define ENQUEUE_FLASH_LU_piv_macro( A, p, cntl ) \
40 FLASH_Queue_push( (void *) FLA_LU_piv_macro_task, \
47#define ENQUEUE_FLASH_Apply_pivots_macro( side, trans, p, A, cntl ) \
48 FLASH_Queue_push( (void *) FLA_Apply_pivots_macro_task, \
56#define ENQUEUE_FLASH_LU_piv( A, p, cntl ) \
57 FLASH_Queue_push( (void *) FLA_LU_piv_task, \
64#define ENQUEUE_FLASH_LU_piv_copy( A, p, U, cntl ) \
65 FLASH_Queue_push( (void *) FLA_LU_piv_copy_task, \
72#define ENQUEUE_FLASH_Trsm_piv( A, C, p, cntl ) \
73 FLASH_Queue_push( (void *) FLA_Trsm_piv_task, \
80#define ENQUEUE_FLASH_SA_LU( U, D, p, L, nb_alg, cntl ) \
81 FLASH_Queue_push( (void *) FLA_SA_LU_task, \
89#define ENQUEUE_FLASH_SA_FS( L, D, p, C, E, nb_alg, cntl ) \
90 FLASH_Queue_push( (void *) FLA_SA_FS_task, \
98#define ENQUEUE_FLASH_LU_nopiv( A, cntl ) \
99 FLASH_Queue_push( (void *) FLA_LU_nopiv_task, \
106#define ENQUEUE_FLASH_Trinv( uplo, diag, A, cntl ) \
107 FLASH_Queue_push( (void *) FLA_Trinv_task, \
115#define ENQUEUE_FLASH_Ttmm( uplo, A, cntl ) \
116 FLASH_Queue_push( (void *) FLA_Ttmm_task, \
124#define ENQUEUE_FLASH_Chol( uplo, A, cntl ) \
125 FLASH_Queue_push( (void *) FLA_Chol_task, \
133#define ENQUEUE_FLASH_Sylv( transA, transB, isgn, A, B, C, scale, cntl ) \
134 FLASH_Queue_push( (void *) FLA_Sylv_task, \
143#define ENQUEUE_FLASH_Lyap( trans, isgn, A, C, scale, cntl ) \
144 FLASH_Queue_push( (void *) FLA_Lyap_task, \
153#define ENQUEUE_FLASH_QR_UT_macro( A, T, cntl ) \
154 FLASH_Queue_push( (void *) FLA_QR_UT_macro_task, \
161#define ENQUEUE_FLASH_QR_UT( A, T, cntl ) \
162 FLASH_Queue_push( (void *) FLA_QR_UT_task, \
169#define ENQUEUE_FLASH_QR_UT_copy( A, T, U, cntl ) \
170 FLASH_Queue_push( (void *) FLA_QR_UT_copy_task, \
177#define ENQUEUE_FLASH_QR2_UT( B, D, T, cntl ) \
178 FLASH_Queue_push( (void *) FLA_QR2_UT_task, \
185#define ENQUEUE_FLASH_LQ_UT_macro( A, T, cntl ) \
186 FLASH_Queue_push( (void *) FLA_LQ_UT_macro_task, \
193#define ENQUEUE_FLASH_CAQR2_UT( B, D, T, cntl ) \
194 FLASH_Queue_push( (void *) FLA_CAQR2_UT_task, \
201#define ENQUEUE_FLASH_Apply_Q_UT( side, trans, direct, storev, A, T, W, B, cntl ) \
202 FLASH_Queue_push( (void *) FLA_Apply_Q_UT_task, \
207 side, trans, direct, storev, \
210#define ENQUEUE_FLASH_Apply_Q2_UT( side, trans, direct, storev, D, T, W, C, E, cntl ) \
211 FLASH_Queue_push( (void *) FLA_Apply_Q2_UT_task, \
216 side, trans, direct, storev, \
219#define ENQUEUE_FLASH_Apply_CAQ2_UT( side, trans, direct, storev, D, T, W, C, E, cntl ) \
220 FLASH_Queue_push( (void *) FLA_Apply_CAQ2_UT_task, \
225 side, trans, direct, storev, \
228#define ENQUEUE_FLASH_UDdate_UT( R, C, D, T, cntl ) \
229 FLASH_Queue_push( (void *) FLA_UDdate_UT_task, \
236#define ENQUEUE_FLASH_Apply_QUD_UT( side, trans, direct, storev, T, W, R, U, C, V, D, cntl ) \
237 FLASH_Queue_push( (void *) FLA_Apply_QUD_UT_task, \
242 side, trans, direct, storev, \
243 T, U, V, W, R, C, D )
245#define ENQUEUE_FLASH_Eig_gest( inv, uplo, A, Y, B, cntl ) \
246 FLASH_Queue_push( (void *) FLA_Eig_gest_task, \
256#define ENQUEUE_FLASH_Gemm( transA, transB, alpha, A, B, beta, C, cntl ) \
257 FLASH_Queue_push( (void *) FLA_Gemm_task, \
266#define ENQUEUE_FLASH_Hemm( side, uplo, alpha, A, B, beta, C, cntl ) \
267 FLASH_Queue_push( (void *) FLA_Hemm_task, \
276#define ENQUEUE_FLASH_Herk( uplo, transA, alpha, A, beta, C, cntl ) \
277 FLASH_Queue_push( (void *) FLA_Herk_task, \
286#define ENQUEUE_FLASH_Her2k( uplo, transA, alpha, A, B, beta, C, cntl ) \
287 FLASH_Queue_push( (void *) FLA_Her2k_task, \
296#define ENQUEUE_FLASH_Symm( side, uplo, alpha, A, B, beta, C, cntl ) \
297 FLASH_Queue_push( (void *) FLA_Symm_task, \
306#define ENQUEUE_FLASH_Syrk( uplo, transA, alpha, A, beta, C, cntl ) \
307 FLASH_Queue_push( (void *) FLA_Syrk_task, \
316#define ENQUEUE_FLASH_Syr2k( uplo, transA, alpha, A, B, beta, C, cntl ) \
317 FLASH_Queue_push( (void *) FLA_Syr2k_task, \
326#define ENQUEUE_FLASH_Trmm( side, uplo, trans, diag, alpha, A, C, cntl ) \
327 FLASH_Queue_push( (void *) FLA_Trmm_task, \
332 side, uplo, trans, diag, \
336#define ENQUEUE_FLASH_Trsm( side, uplo, trans, diag, alpha, A, C, cntl ) \
337 FLASH_Queue_push( (void *) FLA_Trsm_task, \
342 side, uplo, trans, diag, \
348#define ENQUEUE_FLASH_Gemv( trans, alpha, A, x, beta, y, cntl ) \
349 FLASH_Queue_push( (void *) FLA_Gemv_task, \
358#define ENQUEUE_FLASH_Trsv( uplo, trans, diag, A, x, cntl ) \
359 FLASH_Queue_push( (void *) FLA_Trsv_task, \
369#define ENQUEUE_FLASH_Axpy( alpha, A, B, cntl ) \
370 FLASH_Queue_push( (void *) FLA_Axpy_task, \
378#define ENQUEUE_FLASH_Axpyt( trans, alpha, A, B, cntl ) \
379 FLASH_Queue_push( (void *) FLA_Axpyt_task, \
388#define ENQUEUE_FLASH_Copy( A, B, cntl ) \
389 FLASH_Queue_push( (void *) FLA_Copy_task, \
396#define ENQUEUE_FLASH_Copyt( trans, A, B, cntl ) \
397 FLASH_Queue_push( (void *) FLA_Copyt_task, \
405#define ENQUEUE_FLASH_Copyr( uplo, A, B, cntl ) \
406 FLASH_Queue_push( (void *) FLA_Copyr_task, \
414#define ENQUEUE_FLASH_Scal( alpha, A, cntl ) \
415 FLASH_Queue_push( (void *) FLA_Scal_task, \
423#define ENQUEUE_FLASH_Scalr( uplo, alpha, A, cntl ) \
424 FLASH_Queue_push( (void *) FLA_Scalr_task, \
435#define ENQUEUE_FLASH_Obj_create_buffer( rs, cs, A, cntl ) \
436 FLASH_Queue_push( (void *) FLA_Obj_create_buffer_task, \
444#define ENQUEUE_FLASH_Obj_free_buffer( A, cntl ) \
445 FLASH_Queue_push( (void *) FLA_Obj_free_buffer_task, \
456#define ENQUEUE_FLASH_LU_piv_macro( A, p, cntl ) \
457 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
459#define ENQUEUE_FLASH_Apply_pivots_macro( side, trans, p, A, cntl ) \
460 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
462#define ENQUEUE_FLASH_LU_piv( A, p, cntl ) \
463 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
465#define ENQUEUE_FLASH_LU_piv_copy( A, p, U, cntl ) \
466 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
468#define ENQUEUE_FLASH_Trsm_piv( A, C, p, cntl ) \
469 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
471#define ENQUEUE_FLASH_SA_LU( U, D, p, L, nb_alg, cntl ) \
472 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
474#define ENQUEUE_FLASH_SA_FS( L, D, p, C, E, nb_alg, cntl ) \
475 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
477#define ENQUEUE_FLASH_LU_nopiv( A, cntl ) \
478 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
480#define ENQUEUE_FLASH_Trinv( uplo, diag, A, cntl ) \
481 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
483#define ENQUEUE_FLASH_Ttmm( uplo, A, cntl ) \
484 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
486#define ENQUEUE_FLASH_Chol( uplo, A, cntl ) \
487 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
489#define ENQUEUE_FLASH_Sylv( transA, transB, isgn, A, B, C, scale, cntl ) \
490 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
492#define ENQUEUE_FLASH_Lyap( trans, isgn, A, C, scale, cntl ) \
493 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
495#define ENQUEUE_FLASH_QR_UT_macro( A, T, cntl ) \
496 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
498#define ENQUEUE_FLASH_QR_UT( A, T, cntl ) \
499 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
501#define ENQUEUE_FLASH_QR_UT_copy( A, T, U, cntl ) \
502 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
504#define ENQUEUE_FLASH_QR2_UT( B, D, T, cntl ) \
505 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
507#define ENQUEUE_FLASH_LQ_UT_macro( A, T, cntl ) \
508 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
510#define ENQUEUE_FLASH_CAQR2_UT( B, D, T, cntl ) \
511 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
513#define ENQUEUE_FLASH_UDdate_UT( R, C, D, T, cntl ) \
514 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
516#define ENQUEUE_FLASH_Apply_Q_UT( side, trans, direct, storev, A, T, W, B, cntl ) \
517 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
519#define ENQUEUE_FLASH_Apply_Q2_UT( side, trans, direct, storev, D, T, W, C, E, cntl ) \
520 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
522#define ENQUEUE_FLASH_Apply_CAQ2_UT( side, trans, direct, storev, D, T, W, C, E, cntl ) \
523 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
525#define ENQUEUE_FLASH_Apply_QUD_UT( side, trans, direct, storev, T, W, R, U, C, V, D, cntl ) \
526 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
528#define ENQUEUE_FLASH_Eig_gest( inv, uplo, A, Y, B, cntl ) \
529 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
533#define ENQUEUE_FLASH_Gemm( transA, transB, alpha, A, B, beta, C, cntl ) \
534 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
536#define ENQUEUE_FLASH_Hemm( side, uplo, alpha, A, B, beta, C, cntl ) \
537 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
539#define ENQUEUE_FLASH_Herk( uplo, transA, alpha, A, beta, C, cntl ) \
540 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
542#define ENQUEUE_FLASH_Her2k( uplo, transA, alpha, A, B, beta, C, cntl ) \
543 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
545#define ENQUEUE_FLASH_Symm( side, uplo, alpha, A, B, beta, C, cntl ) \
546 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
548#define ENQUEUE_FLASH_Syrk( uplo, transA, alpha, A, beta, C, cntl ) \
549 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
551#define ENQUEUE_FLASH_Syr2k( uplo, transA, alpha, A, B, beta, C, cntl ) \
552 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
554#define ENQUEUE_FLASH_Trmm( side, uplo, trans, diag, alpha, A, C, cntl ) \
555 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
557#define ENQUEUE_FLASH_Trsm( side, uplo, trans, diag, alpha, A, C, cntl ) \
558 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
562#define ENQUEUE_FLASH_Gemv( transA, alpha, A, x, beta, y, cntl ) \
563 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
565#define ENQUEUE_FLASH_Trsv( uplo, trans, diag, A, x, cntl ) \
566 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
570#define ENQUEUE_FLASH_Axpy( alpha, A, B, cntl ) \
571 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
573#define ENQUEUE_FLASH_Axpyt( trans, alpha, A, B, cntl ) \
574 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
576#define ENQUEUE_FLASH_Copy( A, B, cntl ) \
577 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
579#define ENQUEUE_FLASH_Copyt( trans, A, B, cntl ) \
580 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
582#define ENQUEUE_FLASH_Copyr( uplo, A, B, cntl ) \
583 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
585#define ENQUEUE_FLASH_Scal( alpha, A, cntl ) \
586 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
588#define ENQUEUE_FLASH_Scalr( uplo, alpha, A, cntl ) \
589 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
593#define ENQUEUE_FLASH_Obj_create_buffer( rs, cs, A, cntl ) \
594 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
596#define ENQUEUE_FLASH_Obj_free_buffer( A, cntl ) \
597 FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )