Make your code more portable and extend its life . . .
![]() by Dick Valent
|
We are providing this article in response to many recent
user questions regarding
conditional vector merge functions.
In order to make your Cray code more portable to other systems and to extend its life on the Crays, the SCD Technical Consulting Office suggests that you replace your conditional vector merge functions. The functions in question are CVMGM, CVMGN, CVMGP, CVMGZ, CVMGT.
Some years ago, Cray Research (now SGI/Cray) provided conditional vector merge functions as extensions to the Fortran 77 language. These functions were a vectorizable alternative to the then-non-vectorizable IF-THEN-ELSE blocks.
We recommend that you replace each invokation of CVMGM, CVMGN, CVMGP, CVMGZ, and CVMGT in-line, rather than writing external functions for this purpose. This is because the CVM functions are typically called many times, and it is far more efficient at runtime when you make the in-line replacement.
Thanks go to Bryan Hardy of SGI/Cray for informing us of the vendor's intention, and to Jeff Kuehn of SCD for giving his historical perspective regarding the CVMGx functions. |
Contents ||
Search ||
Index ||
Home ||
Subscribe ||
ConsultWeb ||
SCD