[Trilinos-Users] [EXTERNAL] [Trilinos-Framework] Cray T3X?

Hoemmen, Mark mhoemme at sandia.gov
Mon Dec 10 16:36:12 MST 2012

Older Cray compilers used to have twice working precision (in Fortran at least), since the favored word size was 64 bits.  For example, REAL usually means "REAL*4" (== C's "float"), but on Cray meant "DOUBLE PRECISION" (== "REAL*4" == C's "double").  If you're linking against Fortran libraries build with those old compilers, then you would have this issue.

I doubt very much that Trilinos would build on those old compilers, so I think we can safely remove this support.


On Dec 10, 2012, at 4:24 PM, Bartlett, Roscoe A. wrote:

Hello Trilinos Users and Developers,

The Teuchos BLAS and LAPACK wrappers currently define a platform called CRAY_T3X that looks to have a bit of a strange BLAS and LAPACK that it is trying to link to.   Support for this platform seems to go back before 2003 before there even was such a thing as Teuchos.  This seems to have come from Aztec code that predates its inclusion into the Trilinos VC repository in 2002.  Currently you see:

$ git grep  CRAY_T3X

packages/amesos/src/Amesos_SCALAPACK_wrappers.h:#if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
packages/amesos/src/Amesos_SCALAPACK_wrappers.h:#if defined(CRAY_T3X)
packages/aztecoo/src/az_aztec.h:#if defined(CRAY_T3X)
packages/aztecoo/src/az_blas_wrappers.h:#if defined(CRAY_T3X)
packages/aztecoo/src/az_f77func.h:#if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
packages/aztecoo/src/az_f77func.h:#if defined(CRAY_T3X)
packages/aztecoo/src/az_lapack_wrappers.h:#if defined(CRAY_T3X)
packages/epetra/src/Epetra_BLAS_wrappers.h:#if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
packages/epetra/src/Epetra_BLAS_wrappers.h:#if defined(CRAY_T3X)
packages/epetra/src/Epetra_BLAS_wrappers.h:#endif /* defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */
packages/epetra/src/Epetra_BLAS_wrappers.h:#ifndef CRAY_T3X /* Double declarations already done for the Cray */
packages/epetra/src/Epetra_LAPACK_wrappers.h:#if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
packages/epetra/src/Epetra_LAPACK_wrappers.h:#ifdef CRAY_T3X
packages/epetra/src/Epetra_LAPACK_wrappers.h:/* Not defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */
packages/epetra/src/Epetra_LAPACK_wrappers.h:#endif /* defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL) */
packages/epetra/src/Epetra_LAPACK_wrappers.h:#ifndef CRAY_T3X
packages/ml/src/Utils/ml_lapack.h:#if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
packages/ml/src/Utils/ml_lapack.h:#if defined(CRAY_T3X)
packages/ml/src/Utils/ml_lapack.h:#if defined(CRAY_T3X) || defined(INTEL_CXML) || defined(INTEL_MKL)
packages/ml/src/Utils/ml_lapack.h:#if defined(CRAY_T3X)
packages/teuchos/core/src/Teuchos_F77_wrappers.h:#if defined(CRAY_T3X)
packages/teuchos/numerics/src/Teuchos_BLAS_wrappers.hpp:#else /* Not CRAY_T3X or INTEL_CXML or INTEL_MKL */

Other than those references, I can’t find any other references to CRAY_T3X in Trilinos, not in build scripts, not in CMake logic, not in commit messages or anywhere else.

Google searches only seem to come up with the fact that Cray at some point in 2001 (or earlier) trademarked “Cray T3X” but I can’t find much else except perhaps for:


Does anyone know if such a platform still exists and if Trilinos needs to support it?

Is there anyone out there that has to define the C/C++ macro CRAY_T3X when building Trilinos somewhere?

If not, it would make for much cleaner support for linking to BLAS and LAPACK in Trilinos of we can drop the CRAY_T3X ifdef.



Trilinos-Framework mailing list
Trilinos-Framework at software.sandia.gov<mailto:Trilinos-Framework at software.sandia.gov>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20121210/39a3174b/attachment.html 

More information about the Trilinos-Users mailing list