~ubuntu-branches/ubuntu/vivid/atlas/vivid

« back to all changes in this revision

Viewing changes to src/blas/level3/ATL_trsm.c

  • Committer: Bazaar Package Importer
  • Author(s): Sylvestre Ledru
  • Date: 2009-09-17 23:31:54 UTC
  • mto: (2.2.1 experimental)
  • mto: This revision was merged to the branch mainline in revision 10.
  • Revision ID: james.westby@ubuntu.com-20090917233154-9esw88ub02twbuab
Tags: upstream-3.8.3
ImportĀ upstreamĀ versionĀ 3.8.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
 *
6
6
 * -- ATLAS routine -- Version 3.2 -- December 25, 2000
7
7
 *
8
 
 * -- Suggestions,  comments,  bugs reports should be sent to the follo-
9
 
 *    wing e-mail address: atlas@cs.utk.edu
10
 
 *
11
8
 * Author         : Antoine P. Petitet
12
9
 * Contributor(s) : R. Clint Whaley
13
 
 * University of Tennessee - Innovative Computing Laboratory
14
 
 * Knoxville TN, 37996-1301, USA.
 
10
 * Originally developed at the University of Tennessee,
 
11
 * Innovative Computing Laboratory, Knoxville TN, 37996-1301, USA.
15
12
 *
16
13
 * ---------------------------------------------------------------------
17
14
 *
55
52
#include "atlas_lvl3.h"
56
53
 
57
54
#ifndef TRSM_NB
58
 
   #ifdef TREAL
59
 
      #ifdef ATL_ARCH_ATHLON
60
 
         #ifdef DREAL
61
 
            #define TRSM_NB    NB
62
 
         #else
63
 
            #define TRSM_NB    (NB/4)
64
 
         #endif
65
 
      #elif defined(ATL_ARCH_HAMMER64) || defined(ATL_ARCH_HAMMER32)
66
 
         #ifdef DREAL
67
 
            #define TRSM_NB    (NB/3)
68
 
         #else
69
 
            #define TRSM_NB    (NB/2)
70
 
         #endif
71
 
      #else
72
 
         #define TRSM_NB    NB
73
 
      #endif
74
 
/*
75
 
 *    For larger NB than 8, the intel compiler screws up the TRSM kernel,
76
 
 *    so force 8 as our largest stopping factor.  This is OK performance-
77
 
 *    wise, since all non-x86 archs benefit from not using the x86-specific
78
 
 *    kernel too much anyway (that's why we mandate 8 for all non-x86 archs)
79
 
 *    NOTE: I'm afraid the ATL_GAS_x86* probes might succeed on some
80
 
 *          IA64 due to emulation, and that's why they are explicit
81
 
 */
82
 
      #if defined(ATL_IntelIccBugs) || defined(ATL_ARCH_IA64Itan2) || \
83
 
          defined(ATL_ARCH_IA64Itan2) || \
84
 
          (!defined(ATL_GAS_x8632) && !defined(ATL_GAS_x8664))
85
 
         #undef TRSM_NB
86
 
         #define TRSM_NB 8
87
 
      #endif
88
 
   #else
89
 
      #define TRSM_NB     4
90
 
   #endif
 
55
   #include "atlas_trsmNB.h"
91
56
#endif
92
57
 
93
58
void Mjoin( PATL, trsm )