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 File Reference
#include "magma.h"
#include "common_magma.h"
Include dependency graph for get_nb.cpp:

Go to the source code of this file.

Functions

magma_int_t magma_get_spotrf_nb (magma_int_t m)
 
magma_int_t magma_get_dpotrf_nb (magma_int_t m)
 
magma_int_t magma_get_cpotrf_nb (magma_int_t m)
 
magma_int_t magma_get_zpotrf_nb (magma_int_t m)
 
magma_int_t magma_get_sgeqp3_nb (magma_int_t m)
 
magma_int_t magma_get_dgeqp3_nb (magma_int_t m)
 
magma_int_t magma_get_cgeqp3_nb (magma_int_t m)
 
magma_int_t magma_get_zgeqp3_nb (magma_int_t m)
 
magma_int_t magma_get_sgeqrf_nb (magma_int_t m)
 
magma_int_t magma_get_dgeqrf_nb (magma_int_t m)
 
magma_int_t magma_get_cgeqrf_nb (magma_int_t m)
 
magma_int_t magma_get_zgeqrf_nb (magma_int_t m)
 
magma_int_t magma_get_sgeqlf_nb (magma_int_t m)
 
magma_int_t magma_get_dgeqlf_nb (magma_int_t m)
 
magma_int_t magma_get_cgeqlf_nb (magma_int_t m)
 
magma_int_t magma_get_zgeqlf_nb (magma_int_t m)
 
magma_int_t magma_get_sgelqf_nb (magma_int_t m)
 
magma_int_t magma_get_dgelqf_nb (magma_int_t m)
 
magma_int_t magma_get_cgelqf_nb (magma_int_t m)
 
magma_int_t magma_get_zgelqf_nb (magma_int_t m)
 
magma_int_t magma_get_sgetrf_nb (magma_int_t m)
 
magma_int_t magma_get_dgetrf_nb (magma_int_t m)
 
magma_int_t magma_get_cgetrf_nb (magma_int_t m)
 
magma_int_t magma_get_zgetrf_nb (magma_int_t m)
 
magma_int_t magma_get_sgehrd_nb (magma_int_t m)
 
magma_int_t magma_get_dgehrd_nb (magma_int_t m)
 
magma_int_t magma_get_cgehrd_nb (magma_int_t m)
 
magma_int_t magma_get_zgehrd_nb (magma_int_t m)
 
magma_int_t magma_get_ssytrd_nb (magma_int_t m)
 
magma_int_t magma_get_dsytrd_nb (magma_int_t m)
 
magma_int_t magma_get_chetrd_nb (magma_int_t m)
 
magma_int_t magma_get_zhetrd_nb (magma_int_t m)
 
magma_int_t magma_get_sgebrd_nb (magma_int_t m)
 
magma_int_t magma_get_dgebrd_nb (magma_int_t m)
 
magma_int_t magma_get_cgebrd_nb (magma_int_t m)
 
magma_int_t magma_get_zgebrd_nb (magma_int_t m)
 
magma_int_t magma_get_ssygst_nb (magma_int_t m)
 
magma_int_t magma_get_dsygst_nb (magma_int_t m)
 
magma_int_t magma_get_chegst_nb (magma_int_t m)
 
magma_int_t magma_get_zhegst_nb (magma_int_t m)
 
magma_int_t magma_get_sgetri_nb (magma_int_t m)
 
magma_int_t magma_get_dgetri_nb (magma_int_t m)
 
magma_int_t magma_get_cgetri_nb (magma_int_t m)
 
magma_int_t magma_get_zgetri_nb (magma_int_t m)
 
magma_int_t magma_get_sgesvd_nb (magma_int_t m)
 
magma_int_t magma_get_dgesvd_nb (magma_int_t m)
 
magma_int_t magma_get_cgesvd_nb (magma_int_t m)
 
magma_int_t magma_get_zgesvd_nb (magma_int_t m)
 
magma_int_t magma_get_ssygst_nb_m (magma_int_t m)
 
magma_int_t magma_get_dsygst_nb_m (magma_int_t m)
 
magma_int_t magma_get_chegst_nb_m (magma_int_t m)
 
magma_int_t magma_get_zhegst_nb_m (magma_int_t m)
 
magma_int_t magma_get_sbulge_gcperf ()
 
magma_int_t magma_get_dbulge_gcperf ()
 
magma_int_t magma_get_cbulge_gcperf ()
 
magma_int_t magma_get_zbulge_gcperf ()
 
magma_int_t magma_get_smlsize_divideconquer ()
 
magma_int_t magma_get_sbulge_nb (magma_int_t m, magma_int_t nbthreads)
 
magma_int_t magma_get_dbulge_nb (magma_int_t m, magma_int_t nbthreads)
 
magma_int_t magma_get_cbulge_nb (magma_int_t m, magma_int_t nbthreads)
 
magma_int_t magma_get_zbulge_nb (magma_int_t m, magma_int_t nbthreads)
 
magma_int_t magma_sbulge_get_Vblksiz (magma_int_t m, magma_int_t nb, magma_int_t nbthreads)
 
magma_int_t magma_dbulge_get_Vblksiz (magma_int_t m, magma_int_t nb, magma_int_t nbthreads)
 
magma_int_t magma_cbulge_get_Vblksiz (magma_int_t m, magma_int_t nb, magma_int_t nbthreads)
 
magma_int_t magma_zbulge_get_Vblksiz (magma_int_t m, magma_int_t nb, magma_int_t nbthreads)
 
magma_int_t magma_get_sbulge_nb_mgpu (magma_int_t m)
 
magma_int_t magma_get_dbulge_nb_mgpu (magma_int_t m)
 
magma_int_t magma_get_cbulge_nb_mgpu (magma_int_t m)
 
magma_int_t magma_get_zbulge_nb_mgpu (magma_int_t m)
 

Function Documentation

magma_int_t magma_cbulge_get_Vblksiz ( magma_int_t  m,
magma_int_t  nb,
magma_int_t  nbthreads 
)

Definition at line 866 of file get_nb.cpp.

References magma_getdevice_arch(), and min.

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 }
#define min(a, b)
Definition: common_magma.h:86
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_dbulge_get_Vblksiz ( magma_int_t  m,
magma_int_t  nb,
magma_int_t  nbthreads 
)

Definition at line 855 of file get_nb.cpp.

References magma_getdevice_arch(), and min.

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 }
#define min(a, b)
Definition: common_magma.h:86
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_cbulge_gcperf ( )

Definition at line 735 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_cbulge_nb ( magma_int_t  m,
magma_int_t  nbthreads 
)

Definition at line 806 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_cbulge_nb_mgpu ( magma_int_t  m)

Definition at line 928 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

magma_int_t magma_get_cgebrd_nb ( magma_int_t  m)

Definition at line 473 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_cgehrd_nb ( magma_int_t  m)

Definition at line 361 of file get_nb.cpp.

362 {
363  if (m < 1024) return 32;
364  else return 64;
365 }

Here is the caller graph for this function:

magma_int_t magma_get_cgelqf_nb ( magma_int_t  m)

Definition at line 250 of file get_nb.cpp.

251 {
252  if (m < 2048) return 32;
253  else if (m < 4032) return 64;
254  else return 128;
255 }

Here is the caller graph for this function:

magma_int_t magma_get_cgeqlf_nb ( magma_int_t  m)

Definition at line 216 of file get_nb.cpp.

217 {
218  if (m < 2048) return 32;
219  else if (m < 4032) return 64;
220  else return 128;
221 }

Here is the caller graph for this function:

magma_int_t magma_get_cgeqp3_nb ( magma_int_t  m)

Definition at line 107 of file get_nb.cpp.

108 {
109  return 32;
110 }

Here is the caller graph for this function:

magma_int_t magma_get_cgeqrf_nb ( magma_int_t  m)

Definition at line 155 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_cgesvd_nb ( magma_int_t  m)

Definition at line 602 of file get_nb.cpp.

References magma_get_cgebrd_nb().

603 {
604  return magma_get_cgebrd_nb( m );
605 }
magma_int_t magma_get_cgebrd_nb(magma_int_t m)
Definition: get_nb.cpp:473

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_cgetrf_nb ( magma_int_t  m)

Definition at line 304 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_cgetri_nb ( magma_int_t  m)

Definition at line 579 of file get_nb.cpp.

580 {
581  return 64;
582 }

Here is the caller graph for this function:

magma_int_t magma_get_chegst_nb ( magma_int_t  m)

Definition at line 537 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_chegst_nb_m ( magma_int_t  m)

Definition at line 658 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_chetrd_nb ( magma_int_t  m)

Definition at line 408 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_cpotrf_nb ( magma_int_t  m)

Definition at line 64 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_dbulge_gcperf ( )

Definition at line 721 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_dbulge_nb ( magma_int_t  m,
magma_int_t  nbthreads 
)

Definition at line 792 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_dbulge_nb_mgpu ( magma_int_t  m)

Definition at line 914 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

magma_int_t magma_get_dgebrd_nb ( magma_int_t  m)

Definition at line 458 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_dgehrd_nb ( magma_int_t  m)

Definition at line 355 of file get_nb.cpp.

356 {
357  if (m < 2048) return 32;
358  else return 64;
359 }

Here is the caller graph for this function:

magma_int_t magma_get_dgelqf_nb ( magma_int_t  m)

Definition at line 237 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_get_dgeqrf_nb(magma_int_t m)
Definition: get_nb.cpp:141
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_dgeqlf_nb ( magma_int_t  m)

Definition at line 203 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_get_dgeqrf_nb(magma_int_t m)
Definition: get_nb.cpp:141
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_dgeqp3_nb ( magma_int_t  m)

Definition at line 102 of file get_nb.cpp.

103 {
104  return 32;
105 }

Here is the caller graph for this function:

magma_int_t magma_get_dgeqrf_nb ( magma_int_t  m)

Definition at line 141 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_dgesvd_nb ( magma_int_t  m)

Definition at line 597 of file get_nb.cpp.

References magma_get_dgebrd_nb().

598 {
599  return magma_get_dgebrd_nb( m );
600 }
magma_int_t magma_get_dgebrd_nb(magma_int_t m)
Definition: get_nb.cpp:458

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_dgetrf_nb ( magma_int_t  m)

Definition at line 285 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_dgetri_nb ( magma_int_t  m)

Definition at line 574 of file get_nb.cpp.

575 {
576  return 64;
577 }

Here is the caller graph for this function:

magma_int_t magma_get_dpotrf_nb ( magma_int_t  m)

Definition at line 47 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_dsygst_nb ( magma_int_t  m)

Definition at line 522 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_dsygst_nb_m ( magma_int_t  m)

Definition at line 641 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_dsytrd_nb ( magma_int_t  m)

Definition at line 391 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_sbulge_gcperf ( )

Definition at line 707 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_sbulge_nb ( magma_int_t  m,
magma_int_t  nbthreads 
)

Definition at line 778 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_sbulge_nb_mgpu ( magma_int_t  m)

Definition at line 900 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

magma_int_t magma_get_sgebrd_nb ( magma_int_t  m)

Definition at line 443 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_sgehrd_nb ( magma_int_t  m)

Definition at line 342 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_sgelqf_nb ( magma_int_t  m)

Definition at line 232 of file get_nb.cpp.

233 {
234  return magma_get_sgeqrf_nb( m );
235 }
magma_int_t magma_get_sgeqrf_nb(magma_int_t m)
Definition: get_nb.cpp:120

Here is the caller graph for this function:

magma_int_t magma_get_sgeqlf_nb ( magma_int_t  m)

Definition at line 190 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_get_sgeqrf_nb(magma_int_t m)
Definition: get_nb.cpp:120
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_sgeqp3_nb ( magma_int_t  m)

Definition at line 97 of file get_nb.cpp.

98 {
99  return 32;
100 }

Here is the caller graph for this function:

magma_int_t magma_get_sgeqrf_nb ( magma_int_t  m)

Definition at line 120 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_sgesvd_nb ( magma_int_t  m)

Definition at line 592 of file get_nb.cpp.

References magma_get_sgebrd_nb().

593 {
594  return magma_get_sgebrd_nb( m );
595 }
magma_int_t magma_get_sgebrd_nb(magma_int_t m)
Definition: get_nb.cpp:443

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_sgetrf_nb ( magma_int_t  m)

Definition at line 266 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_sgetri_nb ( magma_int_t  m)

Definition at line 569 of file get_nb.cpp.

570 {
571  return 64;
572 }

Here is the caller graph for this function:

magma_int_t magma_get_smlsize_divideconquer ( )

Definition at line 768 of file get_nb.cpp.

769  {
770  return 128;
771  }

Here is the caller graph for this function:

magma_int_t magma_get_spotrf_nb ( magma_int_t  m)

Definition at line 29 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_ssygst_nb ( magma_int_t  m)

Definition at line 506 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_ssygst_nb_m ( magma_int_t  m)

Definition at line 623 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_ssytrd_nb ( magma_int_t  m)

Definition at line 376 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_zbulge_gcperf ( )

Definition at line 749 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_zbulge_nb ( magma_int_t  m,
magma_int_t  nbthreads 
)

Definition at line 823 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_zbulge_nb_mgpu ( magma_int_t  m)

Definition at line 942 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

magma_int_t magma_get_zgebrd_nb ( magma_int_t  m)

Definition at line 488 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_zgehrd_nb ( magma_int_t  m)

Definition at line 367 of file get_nb.cpp.

368 {
369  if (m < 2048) return 32;
370  else return 64;
371 }

Here is the caller graph for this function:

magma_int_t magma_get_zgelqf_nb ( magma_int_t  m)

Definition at line 257 of file get_nb.cpp.

258 {
259  if (m < 1024) return 64;
260  else return 128;
261 }

Here is the caller graph for this function:

magma_int_t magma_get_zgeqlf_nb ( magma_int_t  m)

Definition at line 223 of file get_nb.cpp.

224 {
225  if (m < 1024) return 64;
226  else return 128;
227 }

Here is the caller graph for this function:

magma_int_t magma_get_zgeqp3_nb ( magma_int_t  m)

Definition at line 112 of file get_nb.cpp.

113 {
114  return 32;
115 }

Here is the caller graph for this function:

magma_int_t magma_get_zgeqrf_nb ( magma_int_t  m)

Definition at line 169 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_zgesvd_nb ( magma_int_t  m)

Definition at line 607 of file get_nb.cpp.

References magma_get_zgebrd_nb().

608 {
609  return magma_get_zgebrd_nb( m );
610 }
magma_int_t magma_get_zgebrd_nb(magma_int_t m)
Definition: get_nb.cpp:488

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_zgetrf_nb ( magma_int_t  m)

Definition at line 322 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_zgetri_nb ( magma_int_t  m)

Definition at line 584 of file get_nb.cpp.

585 {
586  return 64;
587 }

Here is the caller graph for this function:

magma_int_t magma_get_zhegst_nb ( magma_int_t  m)

Definition at line 552 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_zhegst_nb_m ( magma_int_t  m)

Definition at line 675 of file get_nb.cpp.

References magma_getdevice_arch().

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_get_zhetrd_nb ( magma_int_t  m)

Definition at line 423 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_get_zpotrf_nb ( magma_int_t  m)

Definition at line 79 of file get_nb.cpp.

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 }
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the caller graph for this function:

magma_int_t magma_sbulge_get_Vblksiz ( magma_int_t  m,
magma_int_t  nb,
magma_int_t  nbthreads 
)

Definition at line 844 of file get_nb.cpp.

References magma_getdevice_arch(), and min.

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 }
#define min(a, b)
Definition: common_magma.h:86
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function:

magma_int_t magma_zbulge_get_Vblksiz ( magma_int_t  m,
magma_int_t  nb,
magma_int_t  nbthreads 
)

Definition at line 880 of file get_nb.cpp.

References magma_getdevice_arch(), and min.

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 }
#define min(a, b)
Definition: common_magma.h:86
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_getdevice_arch()

Here is the call graph for this function:

Here is the caller graph for this function: