1 /*
2 
3     Copyright (C) 2014, The University of Texas at Austin
4 
5     This file is part of libflame and is available under the 3-Clause
6     BSD license, which can be found in the LICENSE file at the top-level
7     directory, or at http://opensource.org/licenses/BSD-3-Clause
8 
9 */
10 
11 #ifndef FLASH_QUEUE_MACRO_DEFS_H
12 #define FLASH_QUEUE_MACRO_DEFS_H
13 
14 
15 #ifdef FLA_ENABLE_SUPERMATRIX
16 
17 
18 #define FLASH_OBJ_PTR_ID( A )  ( A ).base->id
19 
20 // FLASH_Verbose
21 #define FLASH_QUEUE_VERBOSE_NONE                     0
22 #define FLASH_QUEUE_VERBOSE_READABLE                 1
23 #define FLASH_QUEUE_VERBOSE_GRAPHVIZ                 2
24 
25 // FLASH_Data_aff
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
31 
32 /*
33 Reminder to create a macro to enqueue when SuperMatrix is configured, and
34 also to create a macro for when it is not below to return an error code.
35 */
36 
37 // LAPACK-level
38 
39 #define ENQUEUE_FLASH_LU_piv_macro( A, p, cntl ) \
40         FLASH_Queue_push( (void *) FLA_LU_piv_macro_task, \
41                           (void *) cntl, \
42                           "LU   ", \
43                           FALSE, \
44                           0, 0, 0, 2, \
45                           A, p )
46 
47 #define ENQUEUE_FLASH_Apply_pivots_macro( side, trans, p, A, cntl ) \
48         FLASH_Queue_push( (void *) FLA_Apply_pivots_macro_task, \
49                           (void *) cntl, \
50                           "Pivot", \
51                           FALSE, \
52                           2, 0, 1, 1, \
53                           side, trans, \
54                           p, A )
55 
56 #define ENQUEUE_FLASH_LU_piv( A, p, cntl ) \
57         FLASH_Queue_push( (void *) FLA_LU_piv_task, \
58                           (void *) cntl, \
59                           "LU   ", \
60                           FALSE, \
61                           0, 1, 0, 1, \
62                           p, A )
63 
64 #define ENQUEUE_FLASH_LU_piv_copy( A, p, U, cntl ) \
65         FLASH_Queue_push( (void *) FLA_LU_piv_copy_task, \
66                           (void *) cntl, \
67                           "LU   ", \
68                           FALSE, \
69                           0, 1, 0, 2, \
70                           p, A, U )
71 
72 #define ENQUEUE_FLASH_Trsm_piv( A, C, p, cntl ) \
73         FLASH_Queue_push( (void *) FLA_Trsm_piv_task, \
74                           (void *) cntl, \
75                           "Trsm ", \
76                           FALSE, \
77                           0, 1, 1, 1, \
78                           p, A, C )
79 
80 #define ENQUEUE_FLASH_SA_LU( U, D, p, L, nb_alg, cntl ) \
81         FLASH_Queue_push( (void *) FLA_SA_LU_task, \
82                           (void *) cntl, \
83                           "SA_LU", \
84                           FALSE, \
85                           1, 2, 0, 2, \
86                           nb_alg, \
87                           p, L, D, U )
88 
89 #define ENQUEUE_FLASH_SA_FS( L, D, p, C, E, nb_alg, cntl ) \
90         FLASH_Queue_push( (void *) FLA_SA_FS_task, \
91                           (void *) cntl, \
92                           "SA_FS", \
93                           FALSE, \
94                           1, 2, 1, 2, \
95                           nb_alg, \
96                           L, p, D, E, C )
97 
98 #define ENQUEUE_FLASH_LU_nopiv( A, cntl ) \
99         FLASH_Queue_push( (void *) FLA_LU_nopiv_task, \
100                           (void *) cntl, \
101                           "LU   ", \
102                           FALSE, \
103                           0, 0, 0, 1, \
104                           A )
105 
106 #define ENQUEUE_FLASH_Trinv( uplo, diag, A, cntl ) \
107         FLASH_Queue_push( (void *) FLA_Trinv_task, \
108                           (void *) cntl, \
109                           "Trinv", \
110                           FALSE, \
111                           2, 0, 0, 1, \
112                           uplo, diag, \
113                           A )
114 
115 #define ENQUEUE_FLASH_Ttmm( uplo, A, cntl ) \
116         FLASH_Queue_push( (void *) FLA_Ttmm_task, \
117                           (void *) cntl, \
118                           "Ttmm ", \
119                           FALSE, \
120                           1, 0, 0, 1, \
121                           uplo, \
122                           A )
123 
124 #define ENQUEUE_FLASH_Chol( uplo, A, cntl ) \
125         FLASH_Queue_push( (void *) FLA_Chol_task, \
126                           (void *) cntl, \
127                           "Chol ", \
128                           FALSE, \
129                           1, 0, 0, 1, \
130                           uplo, \
131                           A )
132 
133 #define ENQUEUE_FLASH_Sylv( transA, transB, isgn, A, B, C, scale, cntl ) \
134         FLASH_Queue_push( (void *) FLA_Sylv_task, \
135                           (void *) cntl, \
136                           "Sylv ", \
137                           FALSE, \
138                           2, 2, 2, 1, \
139                           transA, transB, \
140                           isgn, scale, \
141                           A, B, C )
142 
143 #define ENQUEUE_FLASH_Lyap( trans, isgn, A, C, scale, cntl ) \
144         FLASH_Queue_push( (void *) FLA_Lyap_task, \
145                           (void *) cntl, \
146                           "Lyap ", \
147                           FALSE, \
148                           1, 2, 1, 1, \
149                           trans, \
150                           isgn, scale, \
151                           A, C )
152 
153 #define ENQUEUE_FLASH_QR_UT_macro( A, T, cntl ) \
154         FLASH_Queue_push( (void *) FLA_QR_UT_macro_task, \
155                           (void *) cntl, \
156                           "QR   ", \
157                           FALSE, \
158                           0, 0, 0, 2, \
159                           A, T )
160 
161 #define ENQUEUE_FLASH_QR_UT( A, T, cntl ) \
162         FLASH_Queue_push( (void *) FLA_QR_UT_task, \
163                           (void *) cntl, \
164                           "QR   ", \
165                           FALSE, \
166                           0, 1, 0, 1, \
167                           T, A )
168 
169 #define ENQUEUE_FLASH_QR_UT_copy( A, T, U, cntl ) \
170         FLASH_Queue_push( (void *) FLA_QR_UT_copy_task, \
171                           (void *) cntl, \
172                           "QR   ", \
173                           FALSE, \
174                           0, 1, 0, 2, \
175                           T, A, U )
176 
177 #define ENQUEUE_FLASH_QR2_UT( B, D, T, cntl ) \
178         FLASH_Queue_push( (void *) FLA_QR2_UT_task, \
179                           (void *) cntl, \
180                           "QR2  ", \
181                           FALSE, \
182                           0, 1, 0, 2, \
183                           T, D, B )
184 
185 #define ENQUEUE_FLASH_LQ_UT_macro( A, T, cntl ) \
186         FLASH_Queue_push( (void *) FLA_LQ_UT_macro_task, \
187                           (void *) cntl, \
188                           "LQ   ", \
189                           FALSE, \
190                           0, 0, 0, 2, \
191                           A, T )
192 
193 #define ENQUEUE_FLASH_CAQR2_UT( B, D, T, cntl ) \
194         FLASH_Queue_push( (void *) FLA_CAQR2_UT_task, \
195                           (void *) cntl, \
196                           "CAQR2", \
197                           FALSE, \
198                           0, 1, 0, 2, \
199                           T, D, B )
200 
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, \
203                           (void *) cntl, \
204                           "ApQ  ", \
205                           FALSE, \
206                           4, 1, 1, 2, \
207                           side, trans, direct, storev, \
208                           T, A, B, W )
209 
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, \
212                           (void *) cntl, \
213                           "ApQ2 ", \
214                           FALSE, \
215                           4, 1, 1, 3, \
216                           side, trans, direct, storev, \
217                           T, D, E, C, W )
218 
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, \
221                           (void *) cntl, \
222                           "ApCQ2", \
223                           FALSE, \
224                           4, 1, 1, 3, \
225                           side, trans, direct, storev, \
226                           T, D, E, C, W )
227 
228 #define ENQUEUE_FLASH_UDdate_UT( R, C, D, T, cntl ) \
229         FLASH_Queue_push( (void *) FLA_UDdate_UT_task, \
230                           (void *) cntl, \
231                           "UD   ", \
232                           FALSE, \
233                           0, 0, 0, 4, \
234                           R, C, D, T )
235 
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, \
238                           (void *) cntl, \
239                           "ApQUD", \
240                           FALSE, \
241                           4, 0, 3, 4, \
242                           side, trans, direct, storev, \
243                           T, U, V, W, R, C, D )
244 
245 #define ENQUEUE_FLASH_Eig_gest( inv, uplo, A, Y, B, cntl ) \
246         FLASH_Queue_push( (void *) FLA_Eig_gest_task, \
247                           (void *) cntl, \
248                           "Eig  ", \
249                           FALSE, \
250                           2, 0, 1, 2, \
251                           inv, uplo, \
252                           B, Y, A )
253 
254 // Level-3 BLAS
255 
256 #define ENQUEUE_FLASH_Gemm( transA, transB, alpha, A, B, beta, C, cntl ) \
257         FLASH_Queue_push( (void *) FLA_Gemm_task, \
258                           (void *) cntl, \
259                           "Gemm ", \
260                           TRUE, \
261                           2, 2, 2, 1, \
262                           transA, transB, \
263                           alpha, beta, \
264                           A, B, C )
265 
266 #define ENQUEUE_FLASH_Hemm( side, uplo, alpha, A, B, beta, C, cntl ) \
267         FLASH_Queue_push( (void *) FLA_Hemm_task, \
268                           (void *) cntl, \
269                           "Hemm ", \
270                           TRUE, \
271                           2, 2, 2, 1, \
272                           side, uplo, \
273                           alpha, beta, \
274                           A, B, C )
275 
276 #define ENQUEUE_FLASH_Herk( uplo, transA, alpha, A, beta, C, cntl ) \
277         FLASH_Queue_push( (void *) FLA_Herk_task, \
278                           (void *) cntl, \
279                           "Herk ", \
280                           TRUE, \
281                           2, 2, 1, 1, \
282                           uplo, transA, \
283                           alpha, beta, \
284                           A, C )
285 
286 #define ENQUEUE_FLASH_Her2k( uplo, transA, alpha, A, B, beta, C, cntl ) \
287         FLASH_Queue_push( (void *) FLA_Her2k_task, \
288                           (void *) cntl, \
289                           "Her2k", \
290                           TRUE, \
291                           2, 2, 2, 1, \
292                           uplo, transA, \
293                           alpha, beta, \
294                           A, B, C )
295 
296 #define ENQUEUE_FLASH_Symm( side, uplo, alpha, A, B, beta, C, cntl ) \
297         FLASH_Queue_push( (void *) FLA_Symm_task, \
298                           (void *) cntl, \
299                           "Symm ", \
300                           TRUE, \
301                           2, 2, 2, 1, \
302                           side, uplo, \
303                           alpha, beta, \
304                           A, B, C )
305 
306 #define ENQUEUE_FLASH_Syrk( uplo, transA, alpha, A, beta, C, cntl ) \
307         FLASH_Queue_push( (void *) FLA_Syrk_task, \
308                           (void *) cntl, \
309                           "Syrk ", \
310                           TRUE, \
311                           2, 2, 1, 1, \
312                           uplo, transA, \
313                           alpha, beta, \
314                           A, C )
315 
316 #define ENQUEUE_FLASH_Syr2k( uplo, transA, alpha, A, B, beta, C, cntl ) \
317         FLASH_Queue_push( (void *) FLA_Syr2k_task, \
318                           (void *) cntl, \
319                           "Syr2k", \
320                           TRUE, \
321                           2, 2, 2, 1, \
322                           uplo, transA, \
323                           alpha, beta, \
324                           A, B, C )
325 
326 #define ENQUEUE_FLASH_Trmm( side, uplo, trans, diag, alpha, A, C, cntl ) \
327         FLASH_Queue_push( (void *) FLA_Trmm_task, \
328                           (void *) cntl, \
329                           "Trmm ", \
330                           TRUE, \
331                           4, 1, 1, 1, \
332                           side, uplo, trans, diag, \
333                           alpha, \
334                           A, C )
335 
336 #define ENQUEUE_FLASH_Trsm( side, uplo, trans, diag, alpha, A, C, cntl ) \
337         FLASH_Queue_push( (void *) FLA_Trsm_task, \
338                           (void *) cntl, \
339                           "Trsm ", \
340                           TRUE, \
341                           4, 1, 1, 1, \
342                           side, uplo, trans, diag, \
343                           alpha, \
344                           A, C )
345 
346 // Level-2 BLAS
347 
348 #define ENQUEUE_FLASH_Gemv( trans, alpha, A, x, beta, y, cntl ) \
349         FLASH_Queue_push( (void *) FLA_Gemv_task, \
350                           (void *) cntl, \
351                           "Gemv ", \
352                           TRUE, \
353                           1, 2, 2, 1, \
354                           trans, \
355                           alpha, beta, \
356                           A, x, y )
357 
358 #define ENQUEUE_FLASH_Trsv( uplo, trans, diag, A, x, cntl ) \
359         FLASH_Queue_push( (void *) FLA_Trsv_task, \
360                           (void *) cntl, \
361                           "Trsv ", \
362                           TRUE, \
363                           3, 0, 1, 1, \
364                           uplo, trans, diag, \
365                           A, x )
366 
367 // Level-1 BLAS
368 
369 #define ENQUEUE_FLASH_Axpy( alpha, A, B, cntl ) \
370         FLASH_Queue_push( (void *) FLA_Axpy_task, \
371                           (void *) cntl, \
372                           "Axpy ", \
373                           TRUE, \
374                           0, 1, 1, 1, \
375                           alpha, \
376                           A, B )
377 
378 #define ENQUEUE_FLASH_Axpyt( trans, alpha, A, B, cntl ) \
379         FLASH_Queue_push( (void *) FLA_Axpyt_task, \
380                           (void *) cntl, \
381                           "Axpyt", \
382                           FALSE, \
383                           1, 1, 1, 1, \
384                           trans, \
385                           alpha, \
386                           A, B )
387 
388 #define ENQUEUE_FLASH_Copy( A, B, cntl ) \
389         FLASH_Queue_push( (void *) FLA_Copy_task, \
390                           (void *) cntl, \
391                           "Copy ", \
392                           TRUE, \
393                           0, 0, 1, 1, \
394                           A, B )
395 
396 #define ENQUEUE_FLASH_Copyt( trans, A, B, cntl ) \
397         FLASH_Queue_push( (void *) FLA_Copyt_task, \
398                           (void *) cntl, \
399                           "Copyt", \
400                           FALSE, \
401                           1, 0, 1, 1, \
402                           trans, \
403                           A, B )
404 
405 #define ENQUEUE_FLASH_Copyr( uplo, A, B, cntl ) \
406         FLASH_Queue_push( (void *) FLA_Copyr_task, \
407                           (void *) cntl, \
408                           "Copyt", \
409                           FALSE, \
410                           1, 0, 1, 1, \
411                           uplo, \
412                           A, B )
413 
414 #define ENQUEUE_FLASH_Scal( alpha, A, cntl ) \
415         FLASH_Queue_push( (void *) FLA_Scal_task, \
416                           (void *) cntl, \
417                           "Scal ", \
418                           TRUE, \
419                           0, 1, 0, 1, \
420                           alpha, \
421                           A )
422 
423 #define ENQUEUE_FLASH_Scalr( uplo, alpha, A, cntl ) \
424         FLASH_Queue_push( (void *) FLA_Scalr_task, \
425                           (void *) cntl, \
426                           "Scalr", \
427                           TRUE, \
428                           1, 1, 0, 1, \
429                           uplo, \
430                           alpha, \
431                           A )
432 
433 // Base
434 
435 #define ENQUEUE_FLASH_Obj_create_buffer( rs, cs, A, cntl ) \
436         FLASH_Queue_push( (void *) FLA_Obj_create_buffer_task, \
437                           (void *) cntl, \
438                           "Buff ", \
439                           FALSE, \
440                           2, 0, 0, 1, \
441                           rs, cs, \
442                           A )
443 
444 #define ENQUEUE_FLASH_Obj_free_buffer( A, cntl ) \
445         FLASH_Queue_push( (void *) FLA_Obj_free_buffer_task, \
446                           (void *) cntl, \
447                           "Free ", \
448                           FALSE, \
449                           0, 0, 0, 1, \
450                           A )
451 
452 #else
453 
454 // LAPACK-level
455 
456 #define ENQUEUE_FLASH_LU_piv_macro( A, p, cntl ) \
457         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
458 
459 #define ENQUEUE_FLASH_Apply_pivots_macro( side, trans, p, A, cntl ) \
460         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
461 
462 #define ENQUEUE_FLASH_LU_piv( A, p, cntl ) \
463         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
464 
465 #define ENQUEUE_FLASH_LU_piv_copy( A, p, U, cntl ) \
466         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
467 
468 #define ENQUEUE_FLASH_Trsm_piv( A, C, p, cntl ) \
469         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
470 
471 #define ENQUEUE_FLASH_SA_LU( U, D, p, L, nb_alg, cntl ) \
472         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
473 
474 #define ENQUEUE_FLASH_SA_FS( L, D, p, C, E, nb_alg, cntl ) \
475         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
476 
477 #define ENQUEUE_FLASH_LU_nopiv( A, cntl ) \
478         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
479 
480 #define ENQUEUE_FLASH_Trinv( uplo, diag, A, cntl ) \
481         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
482 
483 #define ENQUEUE_FLASH_Ttmm( uplo, A, cntl ) \
484         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
485 
486 #define ENQUEUE_FLASH_Chol( uplo, A, cntl ) \
487         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
488 
489 #define ENQUEUE_FLASH_Sylv( transA, transB, isgn, A, B, C, scale, cntl ) \
490         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
491 
492 #define ENQUEUE_FLASH_Lyap( trans, isgn, A, C, scale, cntl ) \
493         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
494 
495 #define ENQUEUE_FLASH_QR_UT_macro( A, T, cntl ) \
496         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
497 
498 #define ENQUEUE_FLASH_QR_UT( A, T, cntl ) \
499         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
500 
501 #define ENQUEUE_FLASH_QR_UT_copy( A, T, U, cntl ) \
502         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
503 
504 #define ENQUEUE_FLASH_QR2_UT( B, D, T, cntl ) \
505         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
506 
507 #define ENQUEUE_FLASH_LQ_UT_macro( A, T, cntl ) \
508         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
509 
510 #define ENQUEUE_FLASH_CAQR2_UT( B, D, T, cntl ) \
511         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
512 
513 #define ENQUEUE_FLASH_UDdate_UT( R, C, D, T, cntl ) \
514         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
515 
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 )
518 
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 )
521 
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 )
524 
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 )
527 
528 #define ENQUEUE_FLASH_Eig_gest( inv, uplo, A, Y, B, cntl ) \
529         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
530 
531 // Level-3 BLAS
532 
533 #define ENQUEUE_FLASH_Gemm( transA, transB, alpha, A, B, beta, C, cntl ) \
534         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
535 
536 #define ENQUEUE_FLASH_Hemm( side, uplo, alpha, A, B, beta, C, cntl ) \
537         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
538 
539 #define ENQUEUE_FLASH_Herk( uplo, transA, alpha, A, beta, C, cntl ) \
540         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
541 
542 #define ENQUEUE_FLASH_Her2k( uplo, transA, alpha, A, B, beta, C, cntl  ) \
543         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
544 
545 #define ENQUEUE_FLASH_Symm( side, uplo, alpha, A, B, beta, C, cntl  ) \
546         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
547 
548 #define ENQUEUE_FLASH_Syrk( uplo, transA, alpha, A, beta, C, cntl  ) \
549         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
550 
551 #define ENQUEUE_FLASH_Syr2k( uplo, transA, alpha, A, B, beta, C, cntl  ) \
552         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
553 
554 #define ENQUEUE_FLASH_Trmm( side, uplo, trans, diag, alpha, A, C, cntl  ) \
555         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
556 
557 #define ENQUEUE_FLASH_Trsm( side, uplo, trans, diag, alpha, A, C, cntl ) \
558         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
559 
560 // Level-2 BLAS
561 
562 #define ENQUEUE_FLASH_Gemv( transA, alpha, A, x, beta, y, cntl ) \
563         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
564 
565 #define ENQUEUE_FLASH_Trsv( uplo, trans, diag, A, x, cntl ) \
566         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
567 
568 // Level-1 BLAS
569 
570 #define ENQUEUE_FLASH_Axpy( alpha, A, B, cntl ) \
571         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
572 
573 #define ENQUEUE_FLASH_Axpyt( trans, alpha, A, B, cntl ) \
574         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
575 
576 #define ENQUEUE_FLASH_Copy( A, B, cntl ) \
577         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
578 
579 #define ENQUEUE_FLASH_Copyt( trans, A, B, cntl ) \
580         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
581 
582 #define ENQUEUE_FLASH_Copyr( uplo, A, B, cntl ) \
583         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
584 
585 #define ENQUEUE_FLASH_Scal( alpha, A, cntl ) \
586         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
587 
588 #define ENQUEUE_FLASH_Scalr( uplo, alpha, A, cntl ) \
589         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
590 
591 // Base
592 
593 #define ENQUEUE_FLASH_Obj_create_buffer( rs, cs, A, cntl ) \
594         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
595 
596 #define ENQUEUE_FLASH_Obj_free_buffer( A, cntl ) \
597         FLA_Check_error_code( FLA_SUPERMATRIX_NOT_ENABLED )
598 
599 #endif // FLA_ENABLE_SUPERMATRIX
600 
601 
602 #endif // FLASH_QUEUE_MACRO_DEFS_H
603