MAGMA  magma-1.4.0
Matrix Algebra on GPU and Multicore Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
get_nb.cpp
Go to the documentation of this file.
1 /*
2  -- MAGMA (version 1.4.0) --
3  Univ. of Tennessee, Knoxville
4  Univ. of California, Berkeley
5  Univ. of Colorado, Denver
6  August 2013
7 
8  @author Stan Tomov
9  @author Mark Gates
10  @author Azzam Haidar
11 */
12 
13 #include "magma.h"
14 #include "common_magma.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 // ==== Definition of blocking sizes for Nvidia cards
21 
22 // Optimal block sizes vary with GPU and, to lesser extent, CPU.
23 // Kepler tuning was on K20c 705 MHz with SandyBridge 2.6 GHz host (bunsen).
24 // Fermi tuning was on S2050 1147 MHz with AMD Opteron 2.4 GHz host (romulus).
25 
26 /* ////////////////////////////////////////////////////////////////////////////
27  -- Return nb for potrf based on m
28 */
30 {
32  if ( arch >= 300 ) { // 3.x Kepler
33  if (m < 1500) return 256;
34  else return 512;
35  }
36  else if ( arch >= 200 ) { // 2.x Fermi
37  if (m < 2048) return 256;
38  else return 512;
39  }
40  else { // 1.x
41  if (m < 3328) return 128;
42  else if (m < 4256) return 224;
43  else return 288;
44  }
45 }
46 
48 {
50  if ( arch >= 300 ) { // 3.x Kepler
51  if (m < 3072) return 256;
52  else return 512;
53  }
54  else if ( arch >= 200 ) { // 2.x Fermi
55  return 256;
56  }
57  else { // 1.x
58  if (m < 3328) return 128;
59  else if (m < 4256) return 128;
60  else return 256;
61  }
62 }
63 
65 {
67  if ( arch >= 300 ) { // 3.x Kepler
68  return 256;
69  }
70  else if ( arch >= 200 ) { // 2.x Fermi
71  if (m < 1500) return 192;
72  else return 256;
73  }
74  else { // 1.x
75  return 64;
76  }
77 }
78 
80 {
82  if ( arch >= 300 ) { // 3.x Kepler
83  return 256;
84  }
85  else if ( arch >= 200 ) { // 2.x Fermi
86  if (m < 1500) return 192;
87  else return 256;
88  }
89  else { // 1.x
90  return 64;
91  }
92 }
93 
94 /* ////////////////////////////////////////////////////////////////////////////
95  -- Return nb for geqp3 based on m
96 */
98 {
99  return 32;
100 }
101 
103 {
104  return 32;
105 }
106 
108 {
109  return 32;
110 }
111 
113 {
114  return 32;
115 }
116 
117 /* ////////////////////////////////////////////////////////////////////////////
118  -- Return nb for geqrf based on m
119 */
121 {
123  if ( arch >= 300 ) { // 3.x Kepler
124  if (m < 4096) return 96;
125  else if (m < 7168) return 128;
126  else if (m < 18432) return 256;
127  else return 512;
128  }
129  else if ( arch >= 200 ) { // 2.x Fermi
130  if (m < 3072) return 64;
131  else if (m < 8192) return 128;
132  else return 256;
133  }
134  else { // 1.x
135  if (m < 2048) return 32;
136  else if (m < 4096) return 64;
137  else return 128;
138  }
139 }
140 
142 {
144  if ( arch >= 300 ) { // 3.x Kepler
145  if (m < 3072) return 64;
146  else if (m < 10240) return 128;
147  else return 256;
148  }
149  else { // 1.x and 2.x Fermi
150  if (m < 4096) return 64;
151  else return 128;
152  }
153 }
154 
156 {
158  if ( arch >= 300 ) { // 3.x Kepler
159  if (m < 4096) return 64;
160  else return 128;
161  }
162  else { // 1.x and 2.x Fermi
163  if (m < 2048) return 32;
164  else if (m < 4096) return 64;
165  else return 128;
166  }
167 }
168 
170 {
172  if ( arch >= 300 ) { // 3.x Kepler
173  if (m < 4096) return 64;
174  else return 128;
175  }
176  else if ( arch >= 200 ) { // 2.x Fermi
177  if (m < 2048) return 32;
178  else if (m < 4096) return 64;
179  else return 128;
180  }
181  else { // 1.x
182  if (m < 1024) return 64;
183  else return 128;
184  }
185 }
186 
187 /* ////////////////////////////////////////////////////////////////////////////
188  -- Return nb for geqlf based on m
189 */
191 {
193  if ( arch >= 200 ) { // 2.x Fermi
194  return magma_get_sgeqrf_nb( m );
195  }
196  else { // 1.x
197  if (m < 1024) return 32;
198  else if (m < 4032) return 64;
199  else return 128;
200  }
201 }
202 
204 {
206  if ( arch >= 200 ) { // 2.x Fermi
207  return magma_get_dgeqrf_nb( m );
208  }
209  else { // 1.x
210  if (m < 1024) return 32;
211  else if (m < 4032) return 64;
212  else return 128;
213  }
214 }
215 
217 {
218  if (m < 2048) return 32;
219  else if (m < 4032) return 64;
220  else return 128;
221 }
222 
224 {
225  if (m < 1024) return 64;
226  else return 128;
227 }
228 
229 /* ////////////////////////////////////////////////////////////////////////////
230  -- Return nb for gelqf based on m
231 */
233 {
234  return magma_get_sgeqrf_nb( m );
235 }
236 
238 {
240  if ( arch >= 200 ) { // 2.x Fermi
241  return magma_get_dgeqrf_nb( m );
242  }
243  else { // 1.x
244  if (m < 2048) return 32;
245  else if (m < 4032) return 64;
246  else return 128;
247  }
248 }
249 
251 {
252  if (m < 2048) return 32;
253  else if (m < 4032) return 64;
254  else return 128;
255 }
256 
258 {
259  if (m < 1024) return 64;
260  else return 128;
261 }
262 
263 /* ////////////////////////////////////////////////////////////////////////////
264  -- Return nb for getrf based on m
265 */
267 {
269  if ( arch >= 300 ) { // 3.x Kepler
270  if (m < 4096) return 256;
271  else if (m < 18432) return 512;
272  else return 1024;
273  }
274  else if ( arch >= 200 ) { // 2.x Fermi
275  if (m < 3072) return 128;
276  else if (m < 10240) return 256;
277  else return 512;
278  }
279  else { // 1.x
280  if (m < 2048) return 64;
281  else return 128;
282  }
283 }
284 
286 {
288  if ( arch >= 300 ) { // 3.x Kepler
289  if (m < 3072) return 128;
290  else if (m < 8192) return 256;
291  else return 512;
292  }
293  else if ( arch >= 200 ) { // 2.x Fermi
294  if (m < 3072) return 128;
295  else if (m < 10240) return 256;
296  else return 512;
297  }
298  else { // 1.x
299  if (m < 2048) return 64;
300  else return 128;
301  }
302 }
303 
305 {
307  if ( arch >= 300 ) { // 3.x Kepler
308  if (m < 4096) return 64;
309  else if (m < 8192) return 256;
310  else return 512;
311  }
312  else if ( arch >= 200 ) { // 2.x Fermi
313  if (m < 2048) return 64;
314  else return 128;
315  }
316  else { // 1.x
317  if (m < 2048) return 64;
318  else return 128;
319  }
320 }
321 
323 {
325  if ( arch >= 300 ) { // 3.x Kepler
326  if (m < 4096) return 64;
327  else if (m < 8192) return 256;
328  else return 512;
329  }
330  else if ( arch >= 200 ) { // 2.x Fermi
331  if (m < 4096) return 64;
332  else return 128;
333  }
334  else { // 1.x
335  return 128;
336  }
337 }
338 
339 /* ////////////////////////////////////////////////////////////////////////////
340  -- Return nb for gehrd based on m
341 */
343 {
345  if ( arch >= 200 ) { // 2.x Fermi
346  if (m < 1024) return 32;
347  else return 96;
348  }
349  else { // 1.x
350  if (m < 1024) return 32;
351  else return 64;
352  }
353 }
354 
356 {
357  if (m < 2048) return 32;
358  else return 64;
359 }
360 
362 {
363  if (m < 1024) return 32;
364  else return 64;
365 }
366 
368 {
369  if (m < 2048) return 32;
370  else return 64;
371 }
372 
373 /* ////////////////////////////////////////////////////////////////////////////
374  -- Return nb for sytrd based on m
375 */
377 {
379  if ( arch >= 200 ) { // 2.x Fermi
380  return 32;
381  //if (m < 1024)
382  // return 64;
383  //else
384  // return 64;
385  }
386  else { // 1.x
387  return 32;
388  }
389 }
390 
392 {
394  if ( arch >= 200 ) { // 2.x Fermi
395  return 32;
396  //return 64;
397  //if (m < 1024)
398  // return 64;
399  //else
400  // return 64;
401  }
402  else { // 1.x
403  return 32;
404  //return 64;
405  }
406 }
407 
409 {
411  if ( arch >= 200 ) { // 2.x Fermi
412  return 32;
413  //if (m < 1024)
414  // return 64;
415  //else
416  // return 64;
417  }
418  else { // 1.x
419  return 32;
420  }
421 }
422 
424 {
426  if ( arch >= 200 ) { // 2.x Fermi
427  return 32;
428  //return 64;
429  //if (m < 1024)
430  // return 64;
431  //else
432  // return 64;
433  }
434  else { // 1.x
435  return 32;
436  //return 64;
437  }
438 }
439 
440 /* ////////////////////////////////////////////////////////////////////////////
441  -- Return nb for gebrd based on m
442 */
444 {
446  if ( arch >= 200 ) { // 2.x Fermi
447  return 32;
448  //if (m < 1024)
449  // return 64;
450  //else
451  // return 64;
452  }
453  else { // 1.x
454  return 32;
455  }
456 }
457 
459 {
461  if ( arch >= 200 ) { // 2.x Fermi
462  return 32;
463  //if (m < 1024)
464  // return 64;
465  //else
466  // return 64;
467  }
468  else { // 1.x
469  return 32;
470  }
471 }
472 
474 {
476  if ( arch >= 200 ) { // 2.x Fermi
477  return 32;
478  //if (m < 1024)
479  // return 64;
480  //else
481  // return 64;
482  }
483  else { // 1.x
484  return 32;
485  }
486 }
487 
489 {
491  if ( arch >= 200 ) { // 2.x Fermi
492  return 32;
493  //if (m < 1024)
494  // return 64;
495  //else
496  // return 64;
497  }
498  else { // 1.x
499  return 32;
500  }
501 }
502 
503 /* ////////////////////////////////////////////////////////////////////////////
504  -- Return nb for sygst based on m
505 */
507 {
509  if ( arch >= 300 ) { // 3.x Kepler
510  if (m < 4096) return 768;
511  else return 1536;
512  }
513  else if ( arch >= 200 ) { // 2.x Fermi
514  if (m < 2048) return 512;
515  else return 1024;
516  }
517  else { // 1.x
518  return 64;
519  }
520 }
521 
523 {
525  if ( arch >= 300 ) { // 3.x Kepler
526  if (m < 2048) return 384;
527  else return 768;
528  }
529  else if ( arch >= 200 ) { // 2.x Fermi
530  return 512;
531  }
532  else { // 1.x
533  return 64;
534  }
535 }
536 
538 {
540  if ( arch >= 300 ) { // 3.x Kepler
541  if (m < 2048) return 384;
542  else return 768;
543  }
544  else if ( arch >= 200 ) { // 2.x Fermi
545  return 512;
546  }
547  else { // 1.x
548  return 64;
549  }
550 }
551 
553 {
555  if ( arch >= 300 ) { // 3.x Kepler
556  return 384;
557  }
558  else if ( arch >= 200 ) { // 2.x Fermi
559  return 256;
560  }
561  else { // 1.x
562  return 64;
563  }
564 }
565 
566 /* ////////////////////////////////////////////////////////////////////////////
567  -- Return nb for getri based on m
568 */
570 {
571  return 64;
572 }
573 
575 {
576  return 64;
577 }
578 
580 {
581  return 64;
582 }
583 
585 {
586  return 64;
587 }
588 
589 /* ////////////////////////////////////////////////////////////////////////////
590  -- Return nb for gesvd based on m
591 */
593 {
594  return magma_get_sgebrd_nb( m );
595 }
596 
598 {
599  return magma_get_dgebrd_nb( m );
600 }
601 
603 {
604  return magma_get_cgebrd_nb( m );
605 }
606 
608 {
609  return magma_get_zgebrd_nb( m );
610 }
611 
612 
613 
614 
615 
616 
617 
618 
619 
620 /* ////////////////////////////////////////////////////////////////////////////
621  -- Return nb for sygst based on m
622 */
624 {
625  return 256; //to be updated
626 
628  if ( arch >= 300 ) { // 3.x Kepler
629  if (m < 4096) return 768;
630  else return 1536;
631  }
632  else if ( arch >= 200 ) { // 2.x Fermi
633  if (m < 2048) return 512;
634  else return 1024;
635  }
636  else { // 1.x
637  return 64;
638  }
639 }
640 
642 {
643  return 256; //to be updated
644 
646  if ( arch >= 300 ) { // 3.x Kepler
647  if (m < 2048) return 384;
648  else return 768;
649  }
650  else if ( arch >= 200 ) { // 2.x Fermi
651  return 512;
652  }
653  else { // 1.x
654  return 64;
655  }
656 }
657 
659 {
660  return 256; //to be updated
661 
663  if ( arch >= 300 ) { // 3.x Kepler
664  if (m < 2048) return 384;
665  else return 768;
666  }
667  else if ( arch >= 200 ) { // 2.x Fermi
668  return 512;
669  }
670  else { // 1.x
671  return 64;
672  }
673 }
674 
676 {
677  return 256; //to be updated
678 
680  if ( arch >= 300 ) { // 3.x Kepler
681  return 384;
682  }
683  else if ( arch >= 200 ) { // 2.x Fermi
684  return 256;
685  }
686  else { // 1.x
687  return 64;
688  }
689 }
690 
691 
692 
693 
694 
695 
696 
697 
700  // Parameters for 2-stage eigensolvers //
703 
704 /* ////////////////////////////////////////////////////////////////////////////
705  -- Return gpu_cpu_perf for 2 stage TRD
706 */
708 {
710  if ( arch >= 300 ) { // 3.x Kepler + SB
711  return 37;
712  }
713  else if ( arch >= 200 ) { // 2.x Fermi
714  return 15000;
715  }
716  else { // 1.x
717  return 10000;
718  }
719 }
722 {
724  if ( arch >= 300 ) { // 3.x Kepler + SB
725  return 37;
726  }
727  else if ( arch >= 200 ) { // 2.x Fermi
728  return 15000;
729  }
730  else { // 1.x
731  return 10000;
732  }
733 }
736 {
738  if ( arch >= 300 ) { // 3.x Kepler + SB
739  return 50;
740  }
741  else if ( arch >= 200 ) { // 2.x Fermi
742  return 15000;
743  }
744  else { // 1.x
745  return 10000;
746  }
747 }
750 {
752  if ( arch >= 300 ) { // 3.x Kepler + SB
753  return 50;
754  }
755  else if ( arch >= 200 ) { // 2.x Fermi
756  return 15000;
757  }
758  else { // 1.x
759  return 10000;
760  }
761 }
763 
764 
765 /* ////////////////////////////////////////////////////////////////////////////
766  -- Return smlsiz for the divide and conquewr routine dlaex0 dstedx zstedx
767 */
769  {
770  return 128;
771  }
772 
773 
774 
775 /* ////////////////////////////////////////////////////////////////////////////
776  -- Return nb for 2 stage TRD
777 */
779 {
781  if ( arch >= 300 ) { // 3.x Kepler + SB
782  return 128;
783  }
784  else if ( arch >= 200 ) { // 2.x Fermi
785  return 64;
786  }
787  else { // 1.x
788  return 64;
789  }
790 }
793 {
795  if ( arch >= 300 ) { // 3.x Kepler + SB
796  return 128;
797  }
798  else if ( arch >= 200 ) { // 2.x Fermi
799  return 128;
800  }
801  else { // 1.x
802  return 64;
803  }
804 }
807 {
809  if ( arch >= 300 ) { // 3.x Kepler + SB
810  if(nbthreads>14)
811  return 128;
812  else
813  return 64;
814  }
815  else if ( arch >= 200 ) { // 2.x Fermi
816  return 64;
817  }
818  else { // 1.x
819  return 64;
820  }
821 }
824 {
826  if ( arch >= 300 ) { // 3.x Kepler + SB
827  if(nbthreads>14)
828  return 128;
829  else
830  return 64;
831  }
832  else if ( arch >= 200 ) { // 2.x Fermi
833  return 64;
834  }
835  else { // 1.x
836  return 64;
837  }
838 }
840 //
841 /* ////////////////////////////////////////////////////////////////////////////
842  -- Return Vblksiz for 2 stage TRD
843 */
845 {
847  if ( arch >= 300 ) { // 3.x Kepler + SB
848  return min(nb,128);
849  }
850  else { // 2.x Fermi or 1.x
851  return min(nb,64);
852  }
853 }
856 {
858  if ( arch >= 300 ) { // 3.x Kepler + SB
859  return min(nb,64);
860  }
861  else { // 2.x Fermi or 1.x
862  return min(nb,64);
863  }
864 }
867 {
869  if ( arch >= 300 ) { // 3.x Kepler + SB
870  if(nbthreads>14)
871  return min(nb,64);
872  else
873  return min(nb,32);
874  }
875  else { // 2.x Fermi or 1.x
876  return min(nb,48);
877  }
878 }
881 {
883  if ( arch >= 300 ) { // 3.x Kepler + SB
884  if(nbthreads>14)
885  return min(nb,64);
886  else
887  return min(nb,32);
888  }
889  else { // 2.x Fermi or 1.x
890  return min(nb,48);
891  }
892 }
894 
895 
896 
897 /* ////////////////////////////////////////////////////////////////////////////
898  -- Return nb for 2 stage TRD_MGPU
899 */
901 {
903  if ( arch >= 300 ) { // 3.x Kepler + SB
904  return 128;
905  }
906  else if ( arch >= 200 ) { // 2.x Fermi
907  return 64;
908  }
909  else { // 1.x
910  return 64;
911  }
912 }
915 {
917  if ( arch >= 300 ) { // 3.x Kepler + SB
918  return 128;
919  }
920  else if ( arch >= 200 ) { // 2.x Fermi
921  return 64;
922  }
923  else { // 1.x
924  return 64;
925  }
926 }
929 {
931  if ( arch >= 300 ) { // 3.x Kepler + SB
932  return 64;
933  }
934  else if ( arch >= 200 ) { // 2.x Fermi
935  return 64;
936  }
937  else { // 1.x
938  return 64;
939  }
940 }
943 {
945  if ( arch >= 300 ) { // 3.x Kepler + SB
946  return 64;
947  }
948  else if ( arch >= 200 ) { // 2.x Fermi
949  return 64;
950  }
951  else { // 1.x
952  return 64;
953  }
954 }
956 
957 
958 
959 
960 
961 #ifdef __cplusplus
962 } // extern "C"
963 #endif
magma_int_t magma_get_dbulge_gcperf()
Definition: get_nb.cpp:721
#define min(a, b)
Definition: common_magma.h:86
magma_int_t magma_get_dsytrd_nb(magma_int_t m)
Definition: get_nb.cpp:391
magma_int_t magma_get_sgebrd_nb(magma_int_t m)
Definition: get_nb.cpp:443
magma_int_t magma_get_cgelqf_nb(magma_int_t m)
Definition: get_nb.cpp:250
magma_int_t magma_get_zbulge_gcperf()
Definition: get_nb.cpp:749
magma_int_t magma_get_zhetrd_nb(magma_int_t m)
Definition: get_nb.cpp:423
magma_int_t magma_get_sgelqf_nb(magma_int_t m)
Definition: get_nb.cpp:232
magma_int_t magma_get_dsygst_nb(magma_int_t m)
Definition: get_nb.cpp:522
magma_int_t magma_get_sgetrf_nb(magma_int_t m)
Definition: get_nb.cpp:266
magma_int_t magma_get_dpotrf_nb(magma_int_t m)
Definition: get_nb.cpp:47
magma_int_t magma_get_chegst_nb(magma_int_t m)
Definition: get_nb.cpp:537
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_get_chegst_nb_m(magma_int_t m)
Definition: get_nb.cpp:658
magma_int_t magma_get_zgetri_nb(magma_int_t m)
Definition: get_nb.cpp:584
magma_int_t magma_get_zgeqlf_nb(magma_int_t m)
Definition: get_nb.cpp:223
magma_int_t magma_get_dbulge_nb(magma_int_t m, magma_int_t nbthreads)
Definition: get_nb.cpp:792
magma_int_t magma_get_ssygst_nb_m(magma_int_t m)
Definition: get_nb.cpp:623
magma_int_t magma_get_cbulge_nb_mgpu(magma_int_t m)
Definition: get_nb.cpp:928
magma_int_t magma_get_cgehrd_nb(magma_int_t m)
Definition: get_nb.cpp:361
magma_int_t magma_get_sgehrd_nb(magma_int_t m)
Definition: get_nb.cpp:342
magma_int_t magma_get_cbulge_gcperf()
Definition: get_nb.cpp:735
magma_int_t magma_get_sgeqp3_nb(magma_int_t m)
Definition: get_nb.cpp:97
magma_int_t magma_get_sgeqrf_nb(magma_int_t m)
Definition: get_nb.cpp:120
magma_int_t magma_get_cpotrf_nb(magma_int_t m)
Definition: get_nb.cpp:64
magma_int_t magma_get_dsygst_nb_m(magma_int_t m)
Definition: get_nb.cpp:641
magma_int_t magma_get_zgeqp3_nb(magma_int_t m)
Definition: get_nb.cpp:112
magma_int_t magma_get_sbulge_gcperf()
Definition: get_nb.cpp:707
magma_int_t magma_get_sgesvd_nb(magma_int_t m)
Definition: get_nb.cpp:592
magma_int_t magma_get_cgetri_nb(magma_int_t m)
Definition: get_nb.cpp:579
magma_int_t magma_get_zgesvd_nb(magma_int_t m)
Definition: get_nb.cpp:607
magma_int_t magma_get_zpotrf_nb(magma_int_t m)
Definition: get_nb.cpp:79
magma_int_t magma_get_chetrd_nb(magma_int_t m)
Definition: get_nb.cpp:408
magma_int_t magma_sbulge_get_Vblksiz(magma_int_t m, magma_int_t nb, magma_int_t nbthreads)
Definition: get_nb.cpp:844
magma_int_t magma_get_cgebrd_nb(magma_int_t m)
Definition: get_nb.cpp:473
magma_int_t magma_get_dgehrd_nb(magma_int_t m)
Definition: get_nb.cpp:355
magma_int_t magma_get_cgesvd_nb(magma_int_t m)
Definition: get_nb.cpp:602
magma_int_t magma_get_zhegst_nb(magma_int_t m)
Definition: get_nb.cpp:552
magma_int_t magma_dbulge_get_Vblksiz(magma_int_t m, magma_int_t nb, magma_int_t nbthreads)
Definition: get_nb.cpp:855
magma_int_t magma_get_zgehrd_nb(magma_int_t m)
Definition: get_nb.cpp:367
magma_int_t magma_get_ssytrd_nb(magma_int_t m)
Definition: get_nb.cpp:376
magma_int_t magma_cbulge_get_Vblksiz(magma_int_t m, magma_int_t nb, magma_int_t nbthreads)
Definition: get_nb.cpp:866
magma_int_t magma_get_dgelqf_nb(magma_int_t m)
Definition: get_nb.cpp:237
magma_int_t magma_get_dgeqrf_nb(magma_int_t m)
Definition: get_nb.cpp:141
magma_int_t magma_get_zgeqrf_nb(magma_int_t m)
Definition: get_nb.cpp:169
magma_int_t magma_get_cgeqrf_nb(magma_int_t m)
Definition: get_nb.cpp:155
magma_int_t magma_get_dgebrd_nb(magma_int_t m)
Definition: get_nb.cpp:458
magma_int_t magma_get_sgeqlf_nb(magma_int_t m)
Definition: get_nb.cpp:190
magma_int_t magma_getdevice_arch()
magma_int_t magma_get_dgeqlf_nb(magma_int_t m)
Definition: get_nb.cpp:203
magma_int_t magma_zbulge_get_Vblksiz(magma_int_t m, magma_int_t nb, magma_int_t nbthreads)
Definition: get_nb.cpp:880
magma_int_t magma_get_spotrf_nb(magma_int_t m)
Definition: get_nb.cpp:29
magma_int_t magma_get_sgetri_nb(magma_int_t m)
Definition: get_nb.cpp:569
magma_int_t magma_get_dgesvd_nb(magma_int_t m)
Definition: get_nb.cpp:597
magma_int_t magma_get_zbulge_nb_mgpu(magma_int_t m)
Definition: get_nb.cpp:942
magma_int_t magma_get_cgetrf_nb(magma_int_t m)
Definition: get_nb.cpp:304
magma_int_t magma_get_cbulge_nb(magma_int_t m, magma_int_t nbthreads)
Definition: get_nb.cpp:806
magma_int_t magma_get_zgebrd_nb(magma_int_t m)
Definition: get_nb.cpp:488
magma_int_t magma_get_smlsize_divideconquer()
Definition: get_nb.cpp:768
magma_int_t magma_get_dgeqp3_nb(magma_int_t m)
Definition: get_nb.cpp:102
magma_int_t magma_get_zhegst_nb_m(magma_int_t m)
Definition: get_nb.cpp:675
magma_int_t magma_get_zbulge_nb(magma_int_t m, magma_int_t nbthreads)
Definition: get_nb.cpp:823
magma_int_t magma_get_dgetrf_nb(magma_int_t m)
Definition: get_nb.cpp:285
magma_int_t magma_get_cgeqp3_nb(magma_int_t m)
Definition: get_nb.cpp:107
magma_int_t magma_get_zgelqf_nb(magma_int_t m)
Definition: get_nb.cpp:257
magma_int_t magma_get_sbulge_nb_mgpu(magma_int_t m)
Definition: get_nb.cpp:900
magma_int_t magma_get_sbulge_nb(magma_int_t m, magma_int_t nbthreads)
Definition: get_nb.cpp:778
magma_int_t magma_get_zgetrf_nb(magma_int_t m)
Definition: get_nb.cpp:322
magma_int_t magma_get_dgetri_nb(magma_int_t m)
Definition: get_nb.cpp:574
magma_int_t magma_get_dbulge_nb_mgpu(magma_int_t m)
Definition: get_nb.cpp:914
magma_int_t magma_get_cgeqlf_nb(magma_int_t m)
Definition: get_nb.cpp:216
magma_int_t magma_get_ssygst_nb(magma_int_t m)
Definition: get_nb.cpp:506