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

Thornquist, Heidi K hkthorn at sandia.gov
Mon Dec 10 16:49:41 MST 2012


Teuchos' BLAS and LAPACK wrappers were originally a templatization (probably not a word, but you know what I mean) of Epetra's BLAS and LAPACK wrappers.  This is where the CRAY_T3X definition originated and why Teuchos adopted it.  I think it is safe to remove this support as well.

Thanks,
Heidi

________________________________
From: trilinos-developers-bounces at software.sandia.gov [trilinos-developers-bounces at software.sandia.gov] on behalf of Hoemmen, Mark [mhoemme at sandia.gov]
Sent: Monday, December 10, 2012 4:36 PM
To: Bartlett, Roscoe A.
Cc: Trilinos Developers List (trilinos-developers at software.sandia.gov); trilinos-framework at software.sandia.gov; trilinos-users at software.sandia.gov
Subject: Re: [Trilinos-Developers] [EXTERNAL] [Trilinos-Framework] Cray T3X?

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.

mfh

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:

    http://www.linuxmisc.com/5-linux-hardware/816a66ce7f3a7c04-2.htm
    http://jun.artcompsci.org/papers/simai/node2.html

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.

Thanks,

-Ross

_______________________________________________
Trilinos-Framework mailing list
Trilinos-Framework at software.sandia.gov<mailto:Trilinos-Framework at software.sandia.gov>
http://software.sandia.gov/mailman/listinfo/trilinos-framework

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


More information about the Trilinos-Users mailing list