
|
 |
 |
|
 |

IMSL Products: F90 Tips
1. F90 - compiling with interface modules
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90
Architecture/OS version: Cray
PROBLEM DESCRIPTION
When using the Cray F90 compiler, you must specify the interface modules
required by your program using the -p option.
SOLUTION
When using the Cray F90 compiler, you must specify the interface modules
required by your program using the -p option. All IMSL interface modules can
be found in the directory specified by the INTF_DIR environment variable.
Thus, the compile/link step for the example rand_gen_ex1.f90 in the
$VNI_DIR/examples/f90/manual directory would be as follows:
$F90 -o rand_gen_ex1 -p $INTF_DIR/rand_gen_int.o $F90FLAGS rand_gen_ex1.f90
$LINK_F90
2. F90 - Solaris customized makefile
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90
Architecture/OS version: Sun / Solaris
PROBLEM DESCRIPTION
The FORTRAN 90 MP Library distribution includes the manual example
programs found in the $VNI_DIR/examples/f90/manual directory and benchmark
programs in the directory $VNI_DIR/examples/f90/benchmark. The Solaris
environment requires a customized makefile with the Cray F90 compiler.
SOLUTION
make -f Makefile.
3. F90 - HYPPR gives invalid result when K equals M
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90
Architecture/OS version: All
PROBLEM DESCRIPTION
The subroutine HYPPR returns a probability of 1 when K equals M. This result
is incorrect.
SOLUTION
There is a check inside this routine which sets the probability to 1 when
K=M, which is wrong. The proper check should be: if K=M and N=L, then the
probability is 1. A change request has been filed.
4. F90 2.0 - Cray CF90 compiler under Sun Solaris
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 2.0
Architecture/OS version: Cray / Sun / Solaris
PROBLEM DESCRIPTION
Some double precision routines are missing.
SOLUTION
Some of the double precision routines were deliberately omitted from this
release because they were giving unreliable results during testing. This is
due to differences in the machine precision between Cray and Sun, and is
something which cannot be corrected.
5. F90 - Missing environment variables on RS6000
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: FNL
Architecture/OS version: IBM RS6000
PROBLEM DESCRIPTION
Environment variables such as LINK_F90 are not defined with iptsetup.csh.
SOLUTION
Because of the variety of OS and compiler levels for AIX, there are some
additional shell scripts (named rs6000_1.csh to rs6000_8.csh) supplied with
RS6000 that need to be run to define the missing variables. Read
$VNI_DIR/notes/f90/README to determine which shell scripts need to be run for
your system.
6. F90 - calling Fortran from C in Visual C++
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90
Architecture/OS version: Windows NT/95; CVF 6.1
PROBLEM DESCRIPTION
How do you call one of the Fortran 90 Library subroutines from C,
using the Visual C++ 6.0 compiler on Windows NT or Windows 95?
SOLUTION
This is an example program using subroutine IVPRK:
#include maths.h /* use this statement or the "extern void __stdcall IVPRK" below */
void __stdcall fcn (long *neq, float *t, float y[], float yprime[]);
main()
{
/* extern void IVPRK ();*/
/* extern void __stdcall IVPRK (long *, long *, void * , float *, float *,
float *, float *, float *); use this statement if the "#include maths.h"
statement above is omitted
change "extern" to "extern "C" " if the program is written in C++*/
long neq = 2, ido=1, istep; /* Number of ode's */
float t = 0.0; /* Initial time */
float tend ; /* Final time */
float tol=.0005, param[50];
float y[] = {1.0, 3.0}; /* Initial condition */
void *state;
/* Initialize the ODE solver */
for (istep=0; istep<50; istep++) param[istep] = 0.0;
for (istep=1; istep<11; istep++)
{
tend = istep;
IVPRK (&ido, &neq, fcn, &t, &tend, &tol, param, y);
printf ("%d %f %f %f\n", istep, t, y[0], y[1]);
if ( istep == 10) ido=3;
}
}
void __stdcall fcn (long *neq, float *t, float y[], float yprime[])
{
int n;
n = *neq;
yprime[0] = 2.0 * y[0] - 2.0*y[0]*y[1];
yprime[1] = -y[1] + y[0]*y[1];
}
-------------
This is the DOS command used to compile and link this program with
IMSL Fortran 90 library for Compaq Visual Fortran 6.1:
cl ivprk.c -link %link_f90% dfor.lib dfconsol.lib
dfor.lib and dfconsol.lib are supplied with Compaq Visual Fortran
7. F90 - Problem with DNCONF and DNCONG and mathd.h
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Windows NT/95 and Compaq Visual Fortran 6.1
PROBLEM DESCRIPTION
Customer reports a problem in the declaration of the functions
DNCONF, D2ONF, DNCONG and DN2ONG in the file mathd.h. The
declaration of the user-defined functions FCN and GRAD in
their argument lists read
void(__stdcall *)(long*, long*, long*, double*, double*, double*, double*),
void(__stdcall *)(long*, long*,long*, long*, double*, double*, double*,
double*, double*,double*)
However, in the FORTRAN source, the argument named ACTIVE is of the type
LOGICAL, which, according to compiler documentation is to be
converted to the type int / long (=INTEGER*4), not double in the mixed
language programs as you have it. The correct declarations are
void(__stdcall *)(long*, long*, long*, double*, long*, double*, double*),
void(__stdcall *)(long*, long*, long*, long*, double*, long*, double*,
double*, double*, double*)
SOLUTION
The customer is correct. The LOGICAL should be an integer type.
On 32-bit Intel (PCs) both int and long are 4 bytes in length, so either
one will work. This may change on the upcoming 64-bit Intel systems
if the long is 8 bytes.
FROM THE Compiler Documentation:
======================================================
A Fortran LOGICAL*2 is stored as a 1-byte indicator value (1=true, 0=false)
followed by one unused byte. A Fortran LOGICAL*4 is stored as a 1-byte
indicator value followed by three unused bytes. The type LOGICAL is
equivalent to LOGICAL*4.
To pass or receive a Fortran LOGICAL type, use an integer. Note that
only the low byte is tested or used by Fortran.
The C++ class type has the same layout as the corresponding C struct type,
unless the class defines virtual functions or has base classes. Classes
that lack those features can be passed in the same way as C structures.
Temporary RESOLUTION:
Change the header file maths.h to:
void __stdcall NCONF(void(__stdcall *)(long*, long*, long*, float*, int*,
float*, float*), long*, long*, long*, float*, long*, float*,
float*, float*, long*, long*, float*, float*);
or to:
void __stdcall NCONF(void(__stdcall *)(long*, long*, long*, float*, long*,
float*, float*), long*, long*, long*, float*, long*, float*,
float*, float*, long*, long*, float*, float*);
8. F90 3.0 - FFLAGS variable not set correctly in sgi_1.csh
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0
Architecture/OS version: SGI
PROBLEM DESCRIPTION
The shell script sgi_1.csh, which must be run to set the correct
environment variables for F90 3.0 for 64 bit SGI platforms, is
not setting the FFLAGS environment variable correctly. It should
contain the "-64" switch as the F90FLAGS variable does. The error
message that occurs when you use this flag instead of the F90FLAGS is:
> $FC -o fnl $FFLAGS /usr/cta/IMSL/examples/fnl/fnl.f $LINK_FNL
ld32: FATAL 12: Expecting n32 objects: /usr/cta/IMSL/lib/lib.sgi_1/libimsl_mp.so is 64-bit.
SOLUTION
The workaround is to use the F90FLAGS instead of FFLAGS or modify
the shell script sgi_1.csh and add the -64 switch to FFLAGS:
setenv FFLAGS "-w -I$VNI_DIR/include -mp -mips4 -64"
A change request has been filed.
9. F90 4.01 - interface for iercd missing from numerical_libraries
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Windows
PROBLEM DESCRIPTION
The numerical_libraries module does not contain interface code for function iercd.
SOLUTION
A change request has been filed.
10. F90 3.0 - creating symbolic link to library on Cray T3E
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0
Architecture/OS version: Cray T3E
PROBLEM DESCRIPTION
Linking to the F90 libraries, after creating a symbolic link to
the library as described in the installation guide, Section 5.2,
page 5 does not work.
SOLUTION
Due to a problem with the Cray loader, the library file and the
file used to resolve use modules must both reside in the same
directory. So if you generate a link to the library file, you
must also link the MPintf.o file to the same directory.
For example:
ln -s $LIBS_PATH/libimsl.a .
ln -s $MODULES_F90 .
11. F90 3.0 - incorrect results from LSVCR
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0
Architecture/OS version: all
PROBLEM DESCRIPTION
The results from LSVCR were tested by performing the decomposition
of a complex matrix A into the matrices U, S, and V and then
multiplying them back together again to get the original matrix A.
The matrix A was square, with rank N. When N=16,32,64 or 128,
the test failed. For other matrix sizes, the test succeeded.
SOLUTION
Use L2VCR as a workaround. A change request has been filed for this
problem.
12. F90 4.01 - GVCGG documentation
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: n/a
PROBLEM DESCRIPTION
The documentation for routine GVCCG, parameter EVEC states:
The J-th eigenvector, corresponding to ALPHA(J) = BETA(J), is stored in the J-th column.
SOLUTION
It should read :
The J-th eigenvector, corresponding to ALPHA(J) / BETA(J), is stored in the J-th column.
13. F90 3.0 - Including F90 library in a Digital Visual FORTRAN 5.0 program
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0
Architecture/OS version: Windows NT/95 / Digital Visual Fortran 5.0
PROBLEM DESCRIPTION
How do you include F90 3.0 libraries in a Digital Visual FORTRAN project?
SOLUTION
From the top menu bar, click on Project.
Then click on Add to Project.
Then click on Files.
Navigate to imslnt\f90\lib and add these libraries (as needed):
sstatd.lib - double precision stat routines
sstats.lib - single precision stat routines
smathd.lib - double precision math routines
smaths.lib - single precision math routines
14. F90 3.01 - unresolved symbols with F77 compiler on SGI 64 bit machine
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: SGI / IRIX 6.4
PROBLEM DESCRIPTION
Customer is trying to use the SGI 64 bit F90 3.01 library with the SGI
Mipspro Fortran 77 compiler version 7.2, and gets the following unresolved
symbols:
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _MATMUL_CS
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _PACK
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _TRANSFER
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _F90_ALLOCATE
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _MATMUL_S4S4
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _INQUIRE
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _RESHAPE
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _FWF
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _DEALLOC
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _DEALLOCATE
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _MATMUL_C4C4
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _MATMUL_C4S4
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _MATMUL_S4C4
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _MATMUL_CC
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _MATMUL_SC
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _MATMUL_SS
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _FRF
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _F90_TRIM
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _SIZE
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _FWU
1747:./fas1: rld: Error: unresolvable symbol in /usr/local/vni/lib/lib.IRIX64/libimsl_mp.so: _FRU
1747:./fas1: rld: Fatal Error: this executable has unresolvable symbols
SOLUTION
The F90 3.01 product was released for use with the SGI Mipspro Fortran 90 compiler
version 7.2. It has not been tested with the F77 compiler, so we do not know what
problems may be encountered in trying to use the product with the F77 compiler.
However the unresolved symbols shown above can be found in the SGI Fortran 90
library libfortran.so. If this library is available, the symbols above can be
resolved by linking the program as follows:
f77 -o program $FFLAGS program.f $LINK_FNL -lfortran
15. F90 3.0 - inverse operator returns error from lower level
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0
Architecture/OS version: Windows NT 4.0 with Digital Visual Fortran 5.0
PROBLEM DESCRIPTION
Certain matrices return the following error message, when passed to the
inverse (.i.) operator in F90, version 3.0, under Digital Visual Fortran
on Windows NT 4.0:
Ý*** FATALÝÝÝÝ ERROR 1250 from d_error_post.Ý .i. operation has generated
Ý***ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ error messages from lower-level routines
SOLUTION
A problem has been found in d_lin_sol_gen, which is causing this error message.
A change request has been filed and the problem will be corrected in the next
release. A work around is to use the ainv optional argument with lin_sol_gen.
For example:
call lin_sol_gen (A, B, X, nrhs=0, ainv=AINV)
16. F90 3.0 - compiler errors under OpenVMS Fortran 90 7.1
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0
Architecture/OS version: DEC Alpha / OpenVMS 7.1
PROBLEM DESCRIPTION
Some example programs delivered with the Fortran 90, version 3.0,
libraries for Alpha OpenVMS, give the following compiler errors,
when compiled under the Fortran 90 version 7.1 compiler:
**Internal compiler error: specification exception signal raised**
Please report this error along with the circumstances in which it
occurred in a Software Problem Report. Note: File and line given
may not be explicit cause of this error.
SOLUTION
VNI supports the IMSL Fortran 90 MP Library, version 3.0, under
version 7.0 of the Alpha OpenVMS operating system and version 7.0
of the Digital Fortran 90 compiler.
Due to problems encountered with non-V7.0 releases of the Digital
Fortran 90 compiler, the IMSL Fortran 90 MP library built with
V7.0 is not object code or source code compatible with these non-V7.0
releases. Digital has been informed of the compiler problems by
Visual Numerics and plans to fix them in a future release.
17. F90 3.01 - unresolved symbols on IRIX 6.2
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: SGI 64 bit system / IRIX 6.2
PROBLEM DESCRIPTION
Customer get unresolved symbols when linking example program for
F90 3.01 under IRIX 6.2 and Fortran 90 7.2 compiler:
dsm_simple_bounds
mp_sug_numthreads
SOLUTION
The supported platform for F90 3.01 on the SGI 64 bit platform is
IRIX 6.4 and SGI Mipspro Fortran 90 7.2 compiler. We have not tested
this product under IRIX 6.2. We found that the unresolved symbols
were located in library /usr/lib64/libmp.so on the IRIX 6.4 system.
These symbols were not found in the IRIX 6.2 version of
/usr/lib64/libmp.so. Also, we found that the size of this library
was almost doubled between IRIX 6.2 and IRIX 6.4
IRIX 6.2 /usr/lib64/libmp.so file size is 123784
IRIX 6.4 /usr/lib64/libmp.so file size is 268368
Resolution is to upgrade to IRIX 6.4 or to downgrade to SGI Mipspro
Fortran 90 7.0 compiler and install F90 3.0 for IRIX 6.2 (tape # 7051).
18. F90 3.01 - Directory checksum errors and premature EOF errors on SGI
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0 or 3.01
Architecture/OS version: SGI 64 bit
PROBLEM DESCRIPTION
Customer is getting directory checksum errors and premature EOF errors when
trying to install IMSL F90 from tape on an SGI machine.
SOLUTION
There are two possible workarounds for this problem:
1. Remove the "conv=swab" parameter from the dd command. For example:
dd if=/dev/nrtape bs=20b | tar xBeofb - 20
2. Try to read the tape using only the tar command and no dd command.
For example:
tar xvf /dev/nrtape
19. F90 3.01 - custom installation from CTT 1.1 tape fails
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: Sun / Solaris 2.6
PROBLEM DESCRIPTION
Custom installation from tape 7150A, CTT 1.1, failed on a Solaris 2.6
machine when F90 3.01 product for Solaris was selected. All other
products were deselected. CNL 2.5 for Solaris was installed instead.
SOLUTION
We were not able to duplicate this problem on a Solaris 2.6 machine
at VNI. However, the following workaround was found to resolve the
problem at the customer site:
There is a flag in the installation script, ctt.install, for
determining whether the "dd" command is used in reading the tape.
The flag, DD_FLAG, is always set to "TRUE". When this flag was set to
false, the installation worked properly. Edit ctt.install and set DD_FLAG=false.
20. F90 3.0 - errors in PC online documentation for BCNLS
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0
Architecture/OS version: PC / Windows NT/95 / Digital Visual Fortran
PROBLEM DESCRIPTION
The argument list for BCNLS is documented incorrectly in the online
documentation included with Fortran 90 MP library for Digital Visual
Fortran and also for FNL 3.0 for Fortran Powerstation. The example
programs are also incorrect.
The online documentation for the unix products is correct.
SOLUTION
The online documentation reads:
Usage
CALL BCNLS (FCN, JAC, M, N, MCON, C, LDC, BL, BU, IRTYPE,
XLB, XUB, XGUESS, X, RNORM, ISTAT)
It should read :
CALL BCNLS (FCN, M, N, MCON, C, LDC, BL, BU, IRTYPE,
XLB, XUB, XGUESS, X, RNORM, ISTAT)
In the comments section, the call to B2NLS should read as follows:
CALL B2NLS (FCN, M, N, MCON, C, LDC, BL, BU,
IRTYPE, XLB, XUB, XGUESS, X, RNORM,
ISTAT, IPARAM, RPARAM, JAC, F, FJ, LDFJ,
IWORK, LIWORK, WORK, LWORK)
Here is the code for the correct example programs:
Example 1:
INTEGER MCON, N
PARAMETER (MCON=1, N=4)
c SPECIFICATIONS FOR PARAMETERS
INTEGER LDC, M
PARAMETER (M=5, LDC=MCON)
c SPECIFICATIONS FOR LOCAL VARIABLES
INTEGER IRTYPE(MCON), ISTAT, NOUT
REAL BL(MCON), C(MCON,N), RNORM, X(N), XGUESS(N), XLB(N),
& XUB(N)
c SPECIFICATIONS FOR SUBROUTINES
EXTERNAL BCNLS, SSET, UMACH, WRRRN
c SPECIFICATIONS FOR FUNCTIONS
EXTERNAL FCN
c
CALL UMACH (2, NOUT)
c Define the separation between x(2)
c and x(4)
C(1,1) = 0.0
C(1,2) = 1.0
C(1,3) = 0.0
C(1,4) = -1.0
BL(1) = 0.05
IRTYPE(1) = 2
c Set lower bounds on variables
XLB(1) = 0.0
XLB(2) = 1.0E30
XLB(3) = 0.0
XLB(4) = 1.0E30
c Set upper bounds on variables
XUB(1) = -1.0E30
XUB(2) = 0.0
XUB(3) = -1.0E30
XUB(4) = 0.0
c Set initial guess to 0.0
CALL SSET (N, 0.0, XGUESS, 1)
c
CALL BCNLS (FCN, M, N, MCON, C, LDC, BL, BL, IRTYPE, XLB,
& XUB, XGUESS, X, RNORM, ISTAT)
c
CALL WRRRN ('X', 1, N, X, 1, 0)
WRITE (NOUT,99999) RNORM
99999 FORMAT (/, 'rnorm = ', E10.5)
END
c
SUBROUTINE FCN (M, N, X, F)
c SPECIFICATIONS FOR ARGUMENTS
INTEGER M, N
REAL X(*), F(*)
c SPECIFICATIONS FOR LOCAL VARIABLES
INTEGER I
c SPECIFICATIONS FOR SAVE VARIABLES
REAL H(5), T(5)
SAVE H, T
c SPECIFICATIONS FOR INTRINSICS
INTRINSIC EXP
REAL EXP
c
DATA T/0.05, 0.1, 0.4, 0.5, 1.0/
DATA H/2.206, 1.994, 1.35, 1.216, 0.7358/
c
DO 10 I=1, M
F(I) = X(1)*EXP(X(2)*T(I)) + X(3)*EXP(X(4)*T(I)) - H(I)
10 CONTINUE
RETURN
END
Example 2:
INTEGER LDC, LDFJ, M, MCON, N
PARAMETER (M=5, MCON=1, N=4, LDC=MCON, LDFJ=M)
c Specifications for local variables
INTEGER I, IPARAM(6), IRTYPE(MCON), ISTAT, IWORK(1000),
& LIWORK, LWORK, NOUT
REAL BL(MCON), C(MCON,N), F(M), FJ(M,N), RNORM, RPARAM(7),
& WORK(1000), X(N), XGUESS(N), XLB(N), XUB(N)
REAL H(5), T(5)
SAVE H, T
INTRINSIC EXP
REAL EXP
c Specifications for subroutines
EXTERNAL B2NLS, B7NLS, SSET, UMACH, WRRRN
c Specifications for functions
EXTERNAL B10LS, B11LS
c
DATA T/0.05, 0.1, 0.4, 0.5, 1.0/
DATA H/2.206, 1.994, 1.35, 1.216, 0.7358/
c
CALL UMACH (2, NOUT)
c Define the separation between x(2)
c and x(4)
C(1,1) = 0.0
C(1,2) = 1.0
C(1,3) = 0.0
C(1,4) = -1.0
BL(1) = 0.05
IRTYPE(1) = 2
c Set lower bounds on variables
XLB(1) = 0.0
XLB(2) = 1.0E30
XLB(3) = 0.0
XLB(4) = 1.0E30
c Set upper bounds on variables
XUB(1) = -1.0E30
XUB(2) = 0.0
XUB(3) = -1.0E30
XUB(4) = 0.0
c Set initial guess to 0.0
CALL SSET (N, 0.0, XGUESS, 1)
c Call B7NLS to set default parameters
CALL B7NLS (IPARAM, RPARAM)
c Suppress the use of the quadratic
c model, evaluate functions and
c Jacobian by reverse communication
IPARAM(3) = 1
IPARAM(5) = 1
IPARAM(6) = 1
LWORK = 1000
LIWORK = 1000
c Specify dummy routines for FCN
c and JAC since we are using reverse
c communication
10 CONTINUE
CALL B2NLS (B10LS, M, N, MCON, C, LDC, BL, BL, IRTYPE, XLB,
& XUB, XGUESS, X, RNORM, ISTAT, IPARAM, RPARAM,
& B11LS, F, FJ, LDFJ, IWORK, LIWORK, WORK, LWORK)
c
c Evaluate functions if the routine
c returns with ISTAT = 6
IF (ISTAT .EQ. 6) THEN
DO 20 I=1, M
FJ(I,1) = EXP(X(2)*T(I))
FJ(I,2) = T(I)*X(1)*FJ(I,1)
FJ(I,3) = EXP(X(4)*T(I))
FJ(I,4) = T(I)*X(3)*FJ(I,3)
F(I) = X(1)*FJ(I,1) + X(3)*FJ(I,3) - H(I)
20 CONTINUE
GO TO 10
END IF
c
CALL WRRRN ('X', 1, N, X, 1, 0)
WRITE (NOUT,99999) RNORM
99999 FORMAT (/, 'rnorm = ', E10.5)
END
21. F90 3.01 - symbol _xlf_localtime_r not defined on RS 6000 system
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: RS 6000 / AIX 4.2
PROBLEM DESCRIPTION
Customer gets the following error message from the validate program imslmp.f,
after linking to F90 3.01 on an RS 6000 running AIX 4.2 abd xlf90 Fortran
compiler 4.1.0.0:
xlf90 -o imslmp imslmp.f $F90FLAGS $LINK_F90
** _main === End of Compilation 1 ===
1501-510 Compilation successful for file imslmp.f.
# ./imslmp
exec(): 0509-036 Cannot load program ./imslmp because of the following
errors:
0509-023 Symbol _xlf_localtime_r in
/IMSL90/CTT1.1/lib/lib.rs6000/libimsl_s.a is not defined.
SOLUTION
The F90 3.01 library was built with the 4.1.0.4 xlf90 Fortran compiler.
According to IBM, the missing symbol xlf_localtime_r was added between
versions 4.1.0.0. and 4.1.0.4 of the compiler. At this time, the only
supported compiler for this product is version 4.1.0.4.
22. F90 3.01 - BCPOL resets the random number generator seed
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: all
PROBLEM DESCRIPTION
A customer was using BCPOL in a program which also used some of the
IMSL random number generators to produce input data. The data
generated was the same for each call to BCPOL.
SOLUTION
BCPOL also uses some random number generators and is resetting
the random number generator seed. This is not documented. A change
request has been filed to have this information added to the documentation.
Any program which is using both a random number generator and BCPOL,
should save the seed using RNGET before each call to BCPOL and use RNSET
to reset the seed after each call to BCPOL.
23. F90 3.01 - CTEPR and DCTEPR workspace arrays become corrupt when LDTABL > NROW
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: all
PROBLEM DESCRIPTION
When LDTABL is greater than NROW, the workspace arrays become corrupt
in the CTEPR/DCTEPR routine. A customer was receiving the error
"invalid page faults" on his PC using Windows 95. In house on
Windows NT 4.0, the routine would "hang up" . On Solaris, the result
was a Segmentation Fault. The routine worked fine when LDTABL = NROW.
The incorrect behavior only occurred when LDTABL > NROW.
SOLUTION
An error was found that was causing workspace arrays to become
corrupt when LDTABL is greater than NROW. A change request has been
filed. This problem will be corrected in the next release of this product.
24. F90 3.01 - iptsetup conflicts with CNL 2.0 on SGI
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: SGI 64 bit
PROBLEM DESCRIPTION
On a 64 bit SGI system, environment variable LINK_F90 for
F90 3.01, is pointing to subdirectory lib/lib.sgi_1 rather
than lib/lib.IRIX64. The subdirectory lib/lib.sgi_1 does not exist.
SOLUTION
This problem is caused when CNL 2.0 is installed after F90 3.01 on
a 64 bit SGI system. The CNL installation replaces the IRIX64.csh
and IRIX64.sh files from the F90 3.01 installation and the environment
variables, supplied on the CNL tape, for the Fortran 90 product are
incorrect for F90 3.01.
A workaround is to install the F90 3.01 product after CNL 2.0 or
replace IRIX64.csh and IRIX64.sh in the ipt/bin subdirectory with
the files of the same name from the F90 3.01 installation. These
files can be obtained from Technical Support.
A change request has been filed on this problem.
25. F90 3.01 - How to use complex numbers in a C program calling FNL
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: all
PROBLEM DESCRIPTION
When calling FNL from C, some users have experienced difficulty
using complex numbers. Besides defining the complex data types,
the array must be transposed before making the call to an FNL
routine. If the solution is provided in an array (such as with EVCRG),
that solution array must be transposed as well.
SOLUTION
#include "imsl.h"
#include
main()
{
extern void evcrg_ (int*, float*, int*, f_complex*, f_complex*, int*);
int n = 3;
float a[] = {8.0, -1.0, -5.0,
-4.0, 4.0, -2.0,
18.0, -5.0, -7.0};
f_complex eval[3];
f_complex evec[9];
/* Transpose the input 2D array to FORTRAN memory order. */
imsl_f_m1ran(n, n, a, a);
evcrg_(&n, a, &n, (f_complex*)&eval, (f_complex*)&evec, &n);
/* Transpose the input 2D array back to C memory order. */
imsl_f_m1ran(n, n, a, a);
imsl_c_write_matrix ("Eigenvalues", 1, n, eval, 0);
/* Transpose the output 2D array to C memory order. */
imsls_c_m1ran(n, n, evec, evec);
imsl_c_write_matrix ("Eigenvectors", n, n, evec, 0);
}
26. F90 3.01 - online documentation core dumps on HPUX 11
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: HPUX 11.0
PROBLEM DESCRIPTION
Customer reports that the Hyperhelp online documentation supplied
with F90 3.01 for HPUX 11.0 (RISC 2.0) is not working. Error
messages include : mu_edit does not exist, exit 117, memory fault.
SOLUTION
HP K or V class systems may require either of the following patches:
PHSS_16620 X/Motif2.1 Runtime Nov 98 Periodic Patch
PHSS_17422 X/Motif2.1 Runtime Jan 99 Periodic Patch
----------------------------------------------------------------------
PDF versions of the documentation are also supplied on the
installation media or can be downloaded from our web site, www.vni.com.
Use the PDF files as a workaround.
The Adobe Acrobat Reader for HP can be downloaded from the Adobe
website, www.adobe.com. Changes must be made to the installation script
in order for it to work under HPUX 11.0. The following instructions
were supplied by Adobe:
The HP-UX 11 operating system was released after the release of
Adobe Acrobat 3.0x. Both the installation and launch scripts for
Acrobat Exchange and Reader check the version and match it to 9 or
10. Therefore, errors are returned when you try to install and start
Acrobat Exchange or Reader on the HP-UX 11 operating systems. Acrobat
Reader and Exchange will work with the HP-UX 11, but a few minor
changes are needed to the installation and launch scripts so that
they recognize the operating system.
Error When Installing Acrobat Reader From Adobe.com
After you download Acrobat Reader from Adobe.com, and then try to
install the application, the system returns the error:
"WARNING: The chosen configuration will not run on your current
platform: (HP-UX/B.11.00). Continue installation? (n)
If "n" is entered, the installation will terminate. If "y" is entered,
the installation will continue."
If you encounter this error, disable the error message by modifying
the installation script:
1. Go to the directory where the Acrobat Reader was downloaded.
2. Open the file INSTALL in a text editor that can save in text-only
format (e.g. vi).
3. Go to line 1000. The surrounding lines are:
HP-UX)
case "$os_release" in
*09.0*|*10.*)
ACRO_CONFIG=hppahpux
export ACRO_CONFIG
;;
4. Change line 1000 from:
*09.0*|*10.*)
to read:
*09.0*|*10.*|*11.*)
5. Save the INSTALL file as text only, then run the INSTALL script again.
27. F90 3.01 - error message file not found on HP RISC 2.0
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: HPUX 11.0 / RISC 2.0
PROBLEM DESCRIPTION
The following error message appears when running the validate
example program for F90 3.01 on HP with RISC 2.0:
../imslmp
X
1 - 5 9.320E-01 7.865E-01 5.004E-01 5.535E-01 9.672E-01
*** TERMINAL ERROR 1 from USER. Unable to open the Fortran 90 MP Library
*** Error message file!
SOLUTION
The environment variable VNI_F90_MSG is used to determine the location
of the message files. The definition of this environment variable was
omitted from the setup shell scripts. This definition should be added
as follows:
Add the following line to files ctt/bin/ hps700_1.csh and ctt/bin/hps700_2.csh :
setenv VNI_F90_MSG "$CTT_DIR/bin/$LIB_ARCH"
Add the following two lines to ctt/bin/hps700_1.sh and ctt/bin/hps700_2.sh :
VNI_F90_MSG="$CTT_DIR/bin/$LIB_ARCH"
export VNI_F90_MSG
A change request has been filed to have this corrected in the next release.
28. F90 3.01 -calling Fortran from C on SGI
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: SGI IRIX 6.5
PROBLEM DESCRIPTION
How would you call a Fortran routine from C on an SGI system?
SOLUTION
Following are two examples for calling a Fortran routine from C
on an SGI 64 bit system using F90 3.01. The following line was used
to compile and link:
cc -o sgi1 $F90FLAGS sgi1.c $LINK_F90 -lm -lfortran -lftn
---------sgi1.c-----------------------------------------------------------
/*
sgi1.c
This example transposes a two-dimensiona1 matrix
* and prints it out.
*/
#include
double a[2] [3] = {11., 12., 13.,
21., 22., 23.};
char title[] = "2x3 matrix";
main ()
{
extern void dtrnnr_(), dwrrrn_(); /* external IMSL subroutines */
int nra=3, nca=2, lda=3; /* matrix a is nra by nca */
int nrb=2, ncb=3, ldb=2; /* matrix b is nrb by ncb */
int itring=0, lstr=10; /* triangle option */
double b[3][2];
/* transpose matrix a and save the result n matrix b */
dtrnrr_ (&nra, &nca, a, &lda, &nrb, &ncb, b, &ldb);
/* write the matrix b with a title */
dwrrrn_ (title, &nrb, &ncb, b, &ldb,&itring, lstr);
}
-------------sgi2.c-----------------------------------------------
#include
#include
double myfunc (x)
double *x; {
double exp ();
return (*x * exp (*x));
}
main ()
{
extern void dqdng_();
double exp(), fabs(), myfunc();
double lower=0.e3, upper=2.e0, errabs=0.e0, errrel=1.e-7;
double result, errest, exact;
char title[] = "2x3 matrix";
double b[3] [2] = {11., 12., 13.,
21., 22., 23.};
int nrb=2, ncb=3, ldb=2; /* matrix b is nrb by ncb */
int itring=0;
/* IMSL QDNG integrates a smooth function using
* a nonadaptive rule. */
dqdng_ (myfunc, &lower, &upper, &errabs, &errrel, &result, &errest);
printf ("IMSL dqdng = %8.5f\n", result);
}
29. F90 4.0 - installation fails with cannot create imslfnl.dat
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.0
Architecture/OS version: AIX 4.3 / Solaris 2.6
PROBLEM DESCRIPTION
Installation of F90 4.0 for Solaris from tape 7963 terminates with
this error, after uncompressing files.
...../CTT2.0/lib/lib.solaris/imslfnl.dat : cannot create the specified file
Installation of F90 4.0 for AIX from tape 7999 terminates with this
error, after uncompressing files.
...../CTT2.0/lib/lib.rs6x4p/imslfnl.dat : cannot create the specified file
SOLUTION
The problem seems to occur only with license numbers other than the
default 999999. A workaround is to install using the default license
number 999999. Then edit file ../CTT2.0/lib/lib.solaris/imslfnl.dat
or ../CTT2.0/lib/lib.rs6x4p/imslfnl.dat, using a text editor. Change
the 999999 on the last line to the customer's license number.
A change request has been filed.
30. F90 3.01 - SGI blas libraries not working with IMSL routines
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.01
Architecture/OS version: SGI 64 bit
PROBLEM DESCRIPTION
EIAT hangs with an infinite loop in example 3 of test vgmres, using
the SGI BLAS library.
SOLUTION
This product was built on IRIX 6.4 with version 7.2 of the SGI Mipspro
Fortran 90 compiler. The SGI BLAS library being used may be an older version.
Use the IMSL Blas library as a workaround.
31. F90 4.0 - validate example program does not work
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.0
Architecture/OS version: unix
PROBLEM DESCRIPTION
Compiling the example program, phello.f90, in the validate
directory produces link errors with the command shown in the
README file.
SOLUTION
The instructions in the validate README file assume that the
customer has MPI. Customers who do not have MPI may try some
or all of the examples in the manual directory as an alternative.
A change request has been filed to include instructions in the
validate README for customers who do not have MPI.
32. F90 3.0 - unresolved external when using the USE IMSL, ONLY: statement
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0 bundled with Digital Visual Fortran
Architecture/OS version: Windows NT/95
PROBLEM DESCRIPTION
When using the USE IMSL, ONLY: statment to resolve the routines in the libraries,
RNNOF and DRNNOF are UNRESOLVED EXTERNALS. This routine should be included
in the Numerical_Libraries.MOD file which is called when using the USE IMSL
statement. The routine is left out of the Numerical_Libraries.MOD file for
the Digital Visual Fortran product, and thus RNNOF/DRNNOF cannot be found
when using either the USE IMSL or USE Numerical_Libraries statements in the
program. The following are test programs that shows the problem:
USE IMSL, ONLY: DRNNOF
X = DRNNOF()
WRITE(*,*) X
END
The above program will produce an internal compiler error.
USE IMSL, ONLY:
X = DRNNOF()
WRITE(*,*) X
END
This program will produce an UNRESOLVED EXTERNAL for DRNNOF.
SOLUTION
The routine is included in the DFIMSL.MOD file. The user must use the USE DFIMSL
statement instead of USE IMSL to resolve the problem. The following is an example
program that works:
USE DFIMSL, ONLY: DRNNOF
X = DRNNOF()
WRITE(*,*) X
END
33. F90 4.0 - LD_LIBRARY_PATH not set correctly
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.0
Architecture/OS version: Sun / Solaris
PROBLEM DESCRIPTION
The shell script solaris.csh is setting the search directory in
environment variable LD_LIBRARY_PATH to $CTT_DIR/lib/lib.solaris.
When an executable is linked against the shared library, the library
cannot be found at run time.
SOLUTION
There is an error in the shell script solaris.csh and solaris.sh.
References to lib.solaris should be changed to lib.$LIB_ARCH.
In solaris.csh, change :
if ( $?LD_LIBRARY_PATH ) then
echo $LD_LIBRARY_PATH | fgrep -s "$CTT_DIR/lib/lib.solaris"
if ( $status ) setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$CTT_DIR/lib/lib.solaris"
echo $LD_LIBRARY_PATH | fgrep -s "/opt/SUNWspro/SC4.2/lib"
if ( $status ) setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/opt/SUNWspro/SC4.2/lib"
echo $LD_LIBRARY_PATH | fgrep -s "/usr/openwin/lib"
if ( $status ) setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/usr/openwin/lib"
else
setenv LD_LIBRARY_PATH "$CTT_DIR/lib/lib.solaris:/opt/SUNWspro/SC4.2/lib:/usr/openwin/lib"
endif
to:
if ( $?LD_LIBRARY_PATH ) then
echo $LD_LIBRARY_PATH | fgrep -s "$CTT_DIR/lib/lib.$LIB_ARCH"
if ( $status ) setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$CTT_DIR/lib/lib.$LIB_ARCH"
echo $LD_LIBRARY_PATH | fgrep -s "/opt/SUNWspro/SC4.2/lib"
if ( $status ) setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/opt/SUNWspro/SC4.2/lib"
echo $LD_LIBRARY_PATH | fgrep -s "/usr/openwin/lib"
if ( $status ) setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/usr/openwin/lib"
else
setenv LD_LIBRARY_PATH "$CTT_DIR/lib/lib.$LIB_ARCH:/opt/SUNWspro/SC4.2/lib:/usr/openwin/lib"
endif
-----------------------------------
In solaris.sh, change:
if [ -n "$LD_LIBRARY_PATH" ] ; then
echo $LD_LIBRARY_PATH | fgrep -s "$CTT_DIR/lib/lib.solaris"
[ $? -ne 0 ] && LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$CTT_DIR/lib/lib.solaris"
echo $LD_LIBRARY_PATH | fgrep -s "/opt/SUNWspro"
[ $? -ne 0 ] && LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/SUNWspro/SC4.2/lib"
echo $LD_LIBRARY_PATH | fgrep -s "/usr/openwin/lib"
[ $? -ne 0 ] && LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/openwin/lib"
else
LD_LIBRARY_PATH="$CTT_DIR/lib/lib.solaris:/opt/SUNWspro/SC4.2/lib:/usr/openwin/lib"
fi
to:
if [ -n "$LD_LIBRARY_PATH" ] ; then
echo $LD_LIBRARY_PATH | fgrep -s "$CTT_DIR/lib/lib.$LIB_ARCH"
[ $? -ne 0 ] && LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$CTT_DIR/lib/lib.$LIB_ARCH"
echo $LD_LIBRARY_PATH | fgrep -s "/opt/SUNWspro"
[ $? -ne 0 ] && LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/SUNWspro/SC4.2/lib"
echo $LD_LIBRARY_PATH | fgrep -s "/usr/openwin/lib"
[ $? -ne 0 ] && LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/openwin/lib"
else
LD_LIBRARY_PATH="$CTT_DIR/lib/lib.$LIB_ARCH:/opt/SUNWspro/SC4.2/lib:/usr/openwin/lib"
fi
34. F90 4.01 or 3.01 - use modules not found
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01 or 3.01
Architecture/OS version: Sun / Solaris
PROBLEM DESCRIPTION
When compiling the validate program on Solaris with the Sun Workshop Fortran 90 2.0
compiler, the following error messages appear:
use rand_gen_int
^
"imslmp.f90", Line = 3, Column = 12: ERROR: "RAND_GEN_INT" is specified as the
module name on a USE statement, but the compiler cannot find it.
use show_int
^
"imslmp.f90", Line = 4, Column = 12: ERROR: "SHOW_INT" is specified as the
module name on a USE statement, but the compiler cannot find it.
type (s_options) :: iopti(2)=s_options(0,zero)
^
"imslmp.f90", Line = 10, Column = 14: ERROR: Derived type "S_OPTIONS" is used,
but it does not have any components defined for it.
call show(x,text=' X')
^
"imslmp.f90", Line = 21, Column = 24: ERROR: An actual argument keyword is being
used when an explicit interface is not known.
SOLUTION
These products were built with Sun Workshop Fortran 90 1.2. A change was made in
the way module files are handled between versions 1.2 and 2.0. F90 3.01 cannot
be used with the 2.0 compiler. Use Sun Workshop Fortran 90 1.2.
There are two versions of F90 4.01 for Sun Workshop. One is for Sun Workshop
Fortran 90 1.2. The other is for Sun Workshop Fortran 90 2.0. Both versions are
delivered on the CTT3.0 CD, part number 8201.
35. F90 4.0 - problems with VERML and VERSL
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.0
Architecture/OS version: unix platforms
PROBLEM DESCRIPTION
When calling routine VERML, the following error appears:
*** TERMINAL ERROR 2 from VERML. The IMSL data file
*** /usr/local/vni/lib/lib.solaris/imslfnl.dat
*** could not be found. Contact your computer system administrator.
The directory location for imslfnl.dat should contain an additional level, CTT2.0.
For example:
/usr/local/vni/CTT2.0/lib/lib.solaris/imslfnl.dat
SOLUTION
There is a note about this in the README files for the CTT1.1 product. The problem has
been corrected in the CTT2.1 release.
Use the same solution as indicated in the README file in the ..../CTT1.1/notes/f90
directory (Part 4, under Global Problems). Before calling either VERML or VERSL
use the following command:
setenv VNI_DIR $CTT_DIR
36. F90 4.0 - environment variables set incorrectly on Solaris
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.0
Architecture/OS version: Solaris
PROBLEM DESCRIPTION
Environment variables which point to the F90 4.0 library directory are set to
lib.solaris, but the files are located in directory lib.slrsxp.
SOLUTION
This problem occurs when CNL 3.0 is installed after F90 4.0, in the same top level
directory.
The CNL libraries are installed in the lib.solaris subdirectory. The F90 libraries are
installed in the lib.slrsxp subdirectory. During the installation process, both
products create shell scripts solaris.csh and solaris.sh in the ctt/bin subdirectory.
These shell scripts define the environment variables needed for both products.
For the F90 product, environment variable LIB_ARCH is defined to be slrsxp, but for
the CNL product, LIB_ARCH is defined to be solaris. When CNL 3.0 is installed after
F90 4.0, it overwrites the solaris.csh shell script, and the definition of LIB_ARCH
is then incorrect for F90 4.0.
A workaround is to copy or move the files from lib.slrsxp to lib.solaris, and leave
solaris.csh as it is delivered with CNL 3.0. The environment variable F90FLAGS must
be changed from:
setenv F90FLAGS "-M$VNI_DIR/include/$LIB_ARCH -I$MPI_DIR/mpich/include"
to
setenv F90FLAGS "-M$CTT_DIR/include/slrsxp -I$MPI_DIR/mpich/include"
There will be a similar problem if F90 4.0 is installed after CNL 3.0. In this case,
copy or move the files from lib.slrsxp to lib.solaris, and edit solaris.csh as
delivered with F90 4.0 to redefine LIB_ARCH as solaris, rather than slrsxp. The
environment variable F90FLAGS must be changed from:
setenv F90FLAGS "-M$CTT_DIR/include/$LIB_ARCH -I$MPI_DIR/mpich/include"
to
setenv F90FLAGS "-M$CTT_DIR/include/slrsxp -I$MPI_DIR/mpich/include"
This problem was corrected with the release of F90 4.01 and CNL 3.01.
37. F90 4.01 - cannot link imslmpi example on Dec Unix
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Dec Unix
PROBLEM DESCRIPTION
When trying to build the validate example program imslmpi on Dec Unix for F90 4.01
with MPI version 1.1.2, customer gets the following error message:
ld: Object file format error in: imslmpi.f90: read_cur_obj_info: bad file magic number
fort: Severe: Failed while trying to link.
SOLUTION
The IMSL Fortran 90 4.01 library for Dec Unix was built and tested with MPI
version 1.1.0. All of the environment variables, set by cttsetup.csh, are defined
on the asumption that you are using this version of MPI.
In order to use the product with MPI 1.1.2, the environment variables must be
changed as follows:
1. Change the definition of environment variable MPIF90, as follows:
setenv MPIF90 mpif90
2. Change the definition of environment variable LINK_MPI as follows:
setenv LINK_MPI "$CTT_DIR/lib/lib.axposf/libimsl.a -L$CTT_DIR/lib/lib.axposf -limsl_blas -limslp_err"
38. F90 4.01 - MPI process cannot find license file
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: unix
PROBLEM DESCRIPTION
This error message appears when an MPI process is executed, using more than one processor:
At least one of the processes cannot find the license file.
If the root process is able to find the license file while
other are not, MPI error messages may result.
SOLUTION
The environment variable LM_LICENSE_FILE must be defined on each processor, and the
license file to which it points must be accessible from each processor. If you are
using a c shell, execute the cttsetup.csh shell script at login time to define this
variable, by adding it to a system login file, .cshrc in the home directory, or the
corresponding file for your system.
MPI is using rsh to activate processes on the non-root processor. There is no
comparable workaround for the korn shell to define LM_LICENSE_FILE, since .profile is
not executed by rsh. If you are using the korn shell, place a copy of the license.dat
file in the directory /usr/local/flexlm/licenses.
39. F90 4.01 - permission denied from mpi validate example
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: unix
PROBLEM DESCRIPTION
The validate example for mpi produces the following error message:
> mpirun -np 4 imslmpi
Permission denied.
> ctrl-c
p0_6811: p4_error: interrupt SIGINT: 2
bm_list_9084: p4_error: interrupt SIGINT: 2
SOLUTION
The "permission denied" message may be coming from the rsh command, which is used
by MPI. First try to run the program with one processor:
mpirun -np 1 imslmpi
If this test is successful, check with your system administrator to verify that
the login account you are using has permission to use the "rsh" command. A test file,
tstmachines, is supplied with MPI to test this. Additional information may be found
in the MPI user's guide.
40. F90 4.01 - manual examples shell script run_single does not work
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Dec unix
PROBLEM DESCRIPTION
The shell script for running the manual examples for Dec unix platform does not work.
It references non-existent environment variables.
SOLUTION
The shell script references environment variables DNFLFLAGS and LINK_DNFL. These
should be F90FLAGS and LINK_F90 respectively. Edit run_single and Makefile_benchlibs,
and replace DNFLFLAGS with F90FLAGS. Replace LINK_DNFL with LINK_F90. A change
request has been filed.
41. F90 4.01 - errors in cttsetup shell scripts
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: HPUX 11.0
PROBLEM DESCRIPTION
Executing cttsetup.sh for F90 4.01, HPUX 11.0 , installed from tape 8129, produces the
following error:
ksh: syntax error 'else' unmatched
SOLUTION
There are errors in the cttsetup files delivered on tapes 8129 and 8130. The corrected
files are shown below. Edit the first line to reflect the correct installation directory
if it is other than the default of /usr/local/vni. A change request has been filed.
cttsetup.csh
---------------------------------------------------------------------------------------------------------------
setenv VNI_DIR "/usr/local/vni"
setenv CTT_DIR "$VNI_DIR/CTT2.1"
setenv VNI_ARCH hps800
setenv LIB_ARCH hp64xs
setenv MPI_DIR /opt/mpi1.4_3
setenv CTT_EXAMPLES "$CTT_DIR/examples/$LIB_ARCH"
setenv F90FLAGS "-w +DA2.0 +U77 -I$CTT_DIR/include/$LIB_ARCH -I$MPI_DIR/include"
setenv FFLAGS "-w +DA2.0 +U77"
setenv FC "f90"
setenv F90 "f90"
setenv MPIF90 "$MPI_DIR/bin/mpif90"
setenv VNI_F90_MSG "$CTT_DIR/bin/$LIB_ARCH"
setenv LINK_F90_STATIC_IMSL "-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limslblas -limslmpistub -limsl -limsls_err -limslblas -limslmpistub /usr/lib/libdld.sl"
setenv LINK_F90_SHARED_IMSL "-Wl,-a,shared -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limslblas /usr/lib/libdld.sl"
setenv LINK_F90_STATIC_VECLIB "-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limslmpistub -limsl -limsls_err -limslmpistub /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
setenv LINK_F90_STATIC "-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limslmpistub -limsl -limsls_err -limslmpistub /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
setenv LINK_F90_SHARED_VECLIB "-Wl,-a,shared -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -Wl,-a,archive -Wl,-L, /opt/mlib/lib/pa2.0/ -lveclib /usr/lib/libdld.sl"
setenv LINK_F90_SHARED "-Wl,-a,shared -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -Wl,-a,archive -Wl,-L, /opt/mlib/lib/pa2.0/ -lveclib /usr/lib/libdld.sl"
setenv LINK_MPI_IMSL "-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limslp_err -limslblas -limsl -limslp_err -limslblas /usr/lib/libdld.sl"
setenv LINK_MPI_VECLIB "-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limslp_err -limsl -limslp_err /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
setenv LINK_MPI "-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limslp_err -limsl -limslp_err /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
setenv LINK_MPIS_IMSL "-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limslblas -limsl -limsls_err -limslblas /usr/lib/libdld.sl"
setenv LINK_MPIS_VECLIB "-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limsl -limsls_err /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
setenv LINK_MPIS "-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limsl -limsls_err /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
setenv LINK_F90 "$LINK_F90_SHARED"
setenv LINK_FNL "$LINK_F90_SHARED"
setenv LINK_F90_VECLIB "$LINK_F90_SHARED_VECLIB"
setenv LINK_FNL_STATIC_VECLIB "$LINK_F90_STATIC_VECLIB"
setenv LINK_FNL_SHARED_VECLIB "$LINK_F90_SHARED_VECLIB"
setenv LINK_FNL_STATIC "$LINK_F90_STATIC_VECLIB"
setenv LINK_FNL_SHARED "$LINK_F90_SHARED_VECLIB"
setenv LINK_FNL_VECLIB "$LINK_F90_SHARED_VECLIB"
# VNI License Manager environment
setenv LICENSE_DIR "$VNI_DIR/license"
if ( $?LM_LICENSE_FILE == 1 ) then
setenv LM_LICENSE_FILE "$LICENSE_DIR/license.dat:$LM_LICENSE_FILE"
else
setenv LM_LICENSE_FILE $LICENSE_DIR/license.dat
endif
alias LMDOWN $LICENSE_DIR/bin/lmdown
alias LMHOSTID $LICENSE_DIR/bin/lmhostid
alias LMREMOVE $LICENSE_DIR/bin/lmremove
alias LMSTAT $LICENSE_DIR/bin/lmstat
alias LMREREAD $LICENSE_DIR/bin/lmreread
alias LMSWITCHR $LICENSE_DIR/bin/lmswitchr
alias VNI_ENTER_SOFTKEY $LICENSE_DIR/bin/validate
alias VNI_LICENSE_MGR $LICENSE_DIR/bin/start_license
-----------------------------------------------------------------------------------------------------------------
cttsetup.sh
-----------------------------------------------------------------------------------------------------------------
VNI_DIR="../../usr/local/vni"
CTT_DIR="$VNI_DIR/CTT2.1"
VNI_ARCH=hps800
LIB_ARCH=hp64xs
MPI_DIR=/opt/mpi1.4_3
CTT_EXAMPLES="$CTT_DIR/examples/$LIB_ARCH"
F90FLAGS="-w +DA2.0 +U77 -I$CTT_DIR/include/$LIB_ARCH -I$MPI_DIR/include"
FFLAGS="-w +DA2.0 +U77"
FC="f90"
F90="f90"
MPIF90="$MPI_DIR/bin/mpif90"
VNI_F90_MSG="$CTT_DIR/bin/$LIB_ARCH"
LINK_F90_STATIC_IMSL="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limslblas -limslmpistub -limsl -limsls_err -limslblas -limslmpistub /usr/lib/libdld.sl"
LINK_F90_SHARED_IMSL="-Wl,-a,shared -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limslblas /usr/lib/libdld.sl"
LINK_F90_STATIC_VECLIB="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limslmpistub -limsl -limsls_err -limslmpistub /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
LINK_F90_STATIC="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limslmpistub -limsl -limsls_err -limslmpistub /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
LINK_MPI_IMSL="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limslp_err -limslblas -limsl -limslp_err -limslblas /usr/lib/libdld.sl"
LINK_F90_SHARED="-Wl,-a,shared -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -Wl,-a,archive -Wl,-L, /opt/mlib/lib/pa2.0/ -lveclib /usr/lib/libdld.sl"
LINK_F90_SHARED_VECLIB="-Wl,-a,shared -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -Wl,-a,archive -Wl,-L, /opt/mlib/lib/pa2.0/ -lveclib /usr/lib/libdld.sl"
LINK_MPI_VECLIB="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limslp_err -limsl -limslp_err /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
LINK_MPI="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limslp_err -limsl -limslp_err /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
LINK_MPIS_IMSL="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limslblas -limsl -limsls_err -limslblas /usr/lib/libdld.sl"
LINK_MPI_IMSL="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limslp_err -limslblas -limsl -limslp_err -limslblas /usr/lib/libdld.sl"
LINK_MPIS_VECLIB="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limsl -limsls_err /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
LINK_MPIS="-Wl,-a,archive -Wl,-L,$CTT_DIR/lib/lib.$LIB_ARCH -limsl -limsls_err -limsl -limsls_err /opt/mlib/lib/pa2.0/libveclib.a /usr/lib/libdld.sl"
LINK_F90="$LINK_F90_SHARED"
LINK_FNL="$LINK_F90_SHARED"
LINK_F90_VECLIB="$LINK_F90_SHARED_VECLIB"
LINK_FNL_STATIC_VECLIB="$LINK_F90_STATIC_VECLIB"
LINK_FNL_SHARED_VECLIB="$LINK_F90_SHARED_VECLIB"
LINK_FNL_STATIC="$LINK_F90_STATIC_VECLIB"
LINK_FNL_SHARED="$LINK_F90_SHARED_VECLIB"
LINK_FNL_VECLIB="$LINK_F90_SHARED_VECLIB"
export VNI_DIR CTT_DIR VNI_ARCH LIB_ARCH MPI_DIR F90FLAGS FFLAGS
export FC F90 MPIF90 VNI_F90_MSG CTT_EXAMPLES LINK_FNL
export LINK_F90_STATIC LINK_F90_STATIC_VECLIB LINK_MPI LINK_MPI_VECLIB
export LINK_MPIS LINK_MPIS_VECLIB LINK_F90 LINK_F90_VECLIB
export LINK_FNL_STATIC_VECLIB LINK_FNL_SHARED_VECLIB
export LINK_FNL_STATIC LINK_FNL_SHARED LINK_FNL_VECLIB
export LINK_F90_SHARED LINK_F90_STATIC_IMSL LINK_MPI_IMSL
export LINK_MPIS_IMSL LINK_F90_SHARED_VECLIB LINK_F90_SHARED_IMSL
# VNI License Manager environment
LICENSE_DIR="$VNI_DIR/license"
if [ "$LM_LICENSE_FILE" = "" ] ; then
LM_LICENSE_FILE="$LICENSE_DIR/license.dat"
else
LM_LICENSE_FILE="$LICENSE_DIR/license.dat:$LM_LICENSE_FILE"
fi
LMDOWN() { $LICENSE_DIR/bin/lmdown ; }
LMHOSTID() { $LICENSE_DIR/bin/lmhostid ; }
LMREMOVE() { $LICENSE_DIR/bin/lmremove ; }
LMSTAT() { $LICENSE_DIR/bin/lmstat ; }
LMREREAD() { $LICENSE_DIR/bin/lmreread ; }
LMSWITCHR() { $LICENSE_DIR/bin/lmswitchr ; }
VNI_ENTER_SOFTKEY() { $LICENSE_DIR/bin/validate ; }
VNI_LICENSE_MGR() { $LICENSE_DIR/bin/start_license ; }
export LICENSE_DIR LM_LICENSE_FILE
42. F90 - QAND argument MAXFCN cannot exceed 2**31
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: any
PROBLEM DESCRIPTION
The MAXFCN argument of QAND is documented to have a maximum value of 256**N.
Why does a problem with N=15 fail to converge within 2147483647 function evaluations?
SOLUTION
In fact, since the largest value that an integer variable can hold is 2**31-1, MAXFCN
can never be greater than this. So for N greater than 3, the limit of MAXFCN is 2**31-1
and not 256**N.
A change request has been filed.
43. F90 4.01 -installation from tape 8069 asks for second tape
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: HP
PROBLEM DESCRIPTION
Tar command, using tape 8069, gives the following message:
Tar: end of tape
Tar: to continue, enter device/file name when ready or null string to quit
SOLUTION
Enter null string to quit and proceed with the installation.
A CR has been filed for this problem.
44. F90 4.01 - tape 8069 contains incorrect validate example programs
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: HP
PROBLEM DESCRIPTION
The validate example program delivered from tape 8069, F90 4.01 for HP, produces
the following error message:
fatal error from mpi_init
SOLUTION
The example program delivered with the tape assumes that MPI is installed.
Use one of the example programs in the manual directory as an alternative, or
install example programs from the CTT2.1 CD.
45. F90 - USE DFIMSLMS - error when trying to use UVMIF example
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 3.0
Architecture/OS version: Windows / Digital Visual Fortran
PROBLEM DESCRIPTION
When using the command USE DFIMSLMS in the code to compile and link the example for
routine UVMIF , it produces an error message as follows:
--------------------Configuration: DummyProject - Win32
Debug--------------------
Compiling Fortran...
D:\Biol506\DummyProject\UVMIFTest.f90
D:\Biol506\DummyProject\UVMIFTest.f90(16) : Error: This actual argument
must not be the name of a procedure. [F]
CALL UVMIF (F, XGUESS, STEP, BOUND, XACC, MAXFN, X)
------------------^
Error executing df.exe.
UVMIFTest.obj - 1 error(s), 0 warning(s)
use DFIMSL
C Declare variables
INTEGER MAXFN, NOUT
REAL BOUND, F, STEP, X, XACC, XGUESS
EXTERNAL F, UMACH, UVMIF
C Initialize variables
XGUESS = 0.0
XACC = 0.001
BOUND = 100.0
STEP = 0.1
MAXFN = 50
C
C Find minimum for F = EXP(X) - 5X
CALL UVMIF (F, XGUESS, STEP, BOUND, XACC, MAXFN, X)
FX = F(X)
C Print results
CALL UMACH (2, NOUT)
WRITE (NOUT,99999) X, FX
C
99999 FORMAT (' The minimum is at ', 7X, F7.3, //, ' The function '
& , 'value is ', F7.3)
C
END
C Real function: F = EXP(X) - 5.0*X
REAL FUNCTION F (X)
REAL X
C
REAL EXP
INTRINSIC EXP
C
F = EXP(X) - 5.0E0*X
C
RETURN
END
SOLUTION
There is an error in dfimslms.f90 and thus dfimslms.mod is also incorrect.
The original (see line 3388 of dfimslms.f90) looks like the following:
!
! Chapter 8: Optimization
!
interface
subroutine uvmif (f, xguess, step, bound, xacc,maxfn, x)
integer maxfn
real f, xguess, step, bound, xacc, x
end subroutine
end interface
The dfimslms.f90 needs to be corrected as follows:
interface
subroutine uvmif (f, xguess, step, bound, xacc,maxfn, x)
integer maxfn
real xguess, step, bound, xacc, x
interface
real function f(x)
real x
end function
end interface
end subroutine
end interface
Once the corrections have been made to DFIMSLMS.F90, the .mod file needs to be generated
with the following command:
df -c dfimslms.f90
The user will need to replace the old dfimslms.mod file with the new ..mod file produced.
Contact Technical Support for an already corrected .f90 copy and compiled .mod.
46. F90 - PCRCG documentation example incorrect
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: any
PROBLEM DESCRIPTION
The data statement for PRECND in example 2 of the routine PCGRC does not
match the data described in the problem. The data needs to be changed to
match the problem description.
SOLUTION
Here is the correct data statement:
c Set PRECND in band symmetric form
data precnd/0.0, 4.0, -1.0, 4.0, -1.0, 4.0, -1.0, 4.0, -1.0, 4.0,
& -1.0, 4.0, -1.0, 4.0, -1.0, 4.0, -1.0, 4.0/
47. F90 4.01 - invalid error message from LSLXD
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Windows / Digital Visual Fortran
PROBLEM DESCRIPTION
The short program below returns this error message from routine LSLXD on
Digital Visual Fortran:
*** TERMINAL ERROR 10 from L3FXD. There is a row with no nonzeros in the
*** coefficient matrix.
Here is a traceback of subprogram calls in reverse order:
Routine name Error type Error code
------------ ---------- ----------
L3FXD 5 10 (Called internally)
L2FXD 0 0 (Called internally)
L2LXD 0 0 (Called internally)
LSLXD 0 0
USER 0 0
The error message is not valid as there is no row with no nonzeros. The result should be :
x
1 2 3 4
1.000 2.000 3.000 4.000
----------------------
INTEGER N, NZ
PARAMETER (N=4, NZ=5)
C
INTEGER IROW(NZ), JCOL(NZ), ITWKSP
REAL A(NZ), B(N), X(N)
C
DATA A/4., 4., 4., 4., 2./
DATA B/12., 8., 12., 18./
CALL LSLXD (N, NZ, A, IROW, JCOL, B, ITWKSP, X)
C Print results
CALL WRRRN (' x ', 1, N, X, 1, 0)
END
SOLUTION
The development staff identified a problem in a lower level routine. A change request has
been filed. Object code fixes for DVF are available from Technical Support. The problem
does not appear on unix platforms.
48. F90 4.01 - error from validate example program on Digital Visual Fortran
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Windows / Digital Visual Fortran
PROBLEM DESCRIPTION
The following error message is output from the imslmp example program in
examples\i386\validate:
program(%IMSLNT_F90%\examples\i386\validate\imslmp.f90).
*** TERMINAL ERROR 2 from VERML. The IMSL data file
*** e:\vni\imslnt\f90\imsllibs.ini could not be found. Contact
*** your computer system administrator.
However, the file mentioned (imsllibs.ini) does exist.
SOLUTION
The error message is very misleading. The problem seems to be that the installation
procedure does not prompt for the customer's license number.
To correct it, edit the file imsllibs.ini and add the customer's license number to
the line
SerialNumber=
For example:
SerialNumber=987651
A Change Request has been filed for this problem.
49. F90 4.01 - access violation from BS1GD
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: N/A
PROBLEM DESCRIPTION
Program hangs or terminates with access violation after a call to BS1GD.
SOLUTION
The sixth argument, NCOEF, to BS1GD is documented as being an input only argument.
In fact, BS1GD is resetting NCOEF even though the value is not being changed.
If NCOEF is declared in a PARAMETER statement, the error occurs when BS1GD tries
to reset NCOEF.
The workaround is to treat NCOEF as an input/output argument. Use an integer
variable which is not declared in a PARAMETER statement. A change request has
been filed for this problem.
50. F90 4.01 - instructions for running benchmark examples
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: unix platforms
PROBLEM DESCRIPTION
The README file in the examples/
/f90/benchmark incorrectly indicates
that you can run build_single to build one example. What is the procedure for
running one example?
SOLUTION
The build_single shell script requires libbench.a, which is created by build_bench.
So build_bench must be run. Since build_bench builds all of the examples, there is
then no need to run build_single to build a single example. To run one example,
follow these steps:
../build_bench
../time_xxx where xxx is the benchmark desired
51. F90 4.01 - error in build_single shell script on SGI
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: SGI
PROBLEM DESCRIPTION
build_bench returns the following error messages on SGI:
f90 ERROR: file does not exist: time_eig_gen.f
f90 ERROR: file does not exist: time_dft.f
f90 ERROR: file does not exist: time_eig_self.f
f90 ERROR: file does not exist: time_geig_gen.f
..
..
..
..
SOLUTION
There is an error in the build_single shell script. Edit build_single and change
$F90 -o $1 $F90FLAGS $1.f libbench.a $LINK_F90
to
$F90 -o $1 $F90FLAGS $1.f90 libbench.a $LINK_F90
A change request has been filed.
52. F90 4.01 - drnunf missing from imsl use module
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Windows NT/95
PROBLEM DESCRIPTION
DRNUNF is missing from the IMSL use module.
SOLUTION
DRNUNF needs to be included in the NUMERICAL_LIBRARIES use module which
is referenced by the IMSL use module. Use DFIMSL as a workaround. A change
request has been filed.
53. F90 4.01 - CTTWO returns incorrect result for Fisher's exact two-tailed test
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: n/a
PROBLEM DESCRIPTION
CTTWO returns an incorrect result for Fisher's exact two-tailed test. Results
for the one-tailed test are correct.
SOLUTION
CTTWO may return incorrect results for Fisher's exact two-tailed test when
the probability of the "other side" is greater than the probability of the
observed table. A Change Request has been filed.
54. F90 4.01 - linking a C program with F90 on Solaris
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Solaris
PROBLEM DESCRIPTION
What is the command on Solaris to compile and link a c program, which calls a
routine from the IMSL F90 library? The compiler is Sun Workshop 5.0.
SOLUTION
These are the required Fortran libraries from Sun Workshop 5.0:
cc -o program program.c $LINK_F90 -lfui -lfai -lfai2 -lfsumai -lfprodai
-lfminlai -lfmaxlai -lfminvai -lfmaxvai -lfsu -lsunmath -lm
55. F90 4.01 - pde example compilation errors on SGI
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: SGI
PROBLEM DESCRIPTION
Example program pde_ex01 gives the following error when compiled with the SGI Mipspro
7.3 compiler:
f90 -c -w -mp -mips4 -64 pde.f90
CALL PDE_1D_MG (T0, TOUT, IDO, U,&
^
f90-389 f90: ERROR PDE_1D_MG_EX01, File = pde.f90, Line = 50, Column = 17
No specific match can be found for the generic subprogram call "PDE_1D_MG".
f90: MIPSpro Fortran 90 Version 7.3 (f61) Tue May 30, 2000 12:22:00
f90: 99 source lines
f90: 1 Error(s), 0 Warning(s), 0 Other message(s), 0 ANSI(s)
cf90: "explain cf90-message number" gives more information about each message
SOLUTION
The supported compiler for SGI is SGI Mipspro Fortran 90 7.2.1.
We are investigating the possibility that something was changed in the 7.3 release
of the compiler to cause this error. A workaround is to replace the generic routine
name "pde_1d_mg" with the specific name "d_pde_1d_mg_matrix" .
Also note that this example may not work with MPT 1.4. The following errors may occur
with MPT 1.4:
../run_single pde_ex01
ld64: INFO 171: Multigot invoked. Gp relative region broken up into 4
separate regions.
MPI: MPI_COMM_WORLD rank 0 has terminated without calling MPI_Finalize()
MPI: aborting job
The supported version of MPT is MPT 1.2.
A change request has been filed.
56. F90 4.01 - documentation of PW parameter in IVPAG
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: n/a
PROBLEM DESCRIPTION
The documentation of parameter PW in IVPAG/I2PAG states that PW is used to
store the Jacobian and as workspace. How can the Jacobian be obtained from
this parameter?
SOLUTION
The documentation is misleading. PW is strictly a workspace parameter. While PW
is used to store the Jacobian in intermediate computations, it does not contain
the Jacobian on output. The Jacobian is not available as an output parameter.
A Change Request has been filed to have the documentation corrected.
57. F90 4.01 - mpi example program hangs on Solaris
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Solaris 2.6
PROBLEM DESCRIPTION
Example program imslmpi.f90 hangs when run with np greater than 1. There is no
output, no error message, and no termination. It is OK with np equal to 1. Version
of MPI used is 1.2.
SOLUTION
The supported version of MPI is 1.1. We duplicated the problem with MPI 1.2, so
assume that some change has occurred in the later version of MPI to cause this problem.
A Change Request has been filed to evaluate this product with MPI 1.2. In the meantime,
the workaround is to use MPI 1.1.
58. F90 4.01 - compatibility with SuSE linux
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: SuSE Linux
PROBLEM DESCRIPTION
Is F90 4.01, for Red Hat linux and Portland group compiler, compatible with SuSE linux?
SOLUTION
Yes. The product has been tested successfully on SUSE-linux version 2.95.
The installation procedure differs from that on Red Hat in that the installer
must login as root to mount the CD.
59. F90 4.01 - USE IMSL,ONLY produces out of memory error
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Compaq Fortran 6.5
PROBLEM DESCRIPTION
The statement "USE IMSL, ONLY:EYE" produces an out of memory error message
from the F90 4.01 product that is bundled with Compaq Visual Fortran 6.5
Professional Edition.
SOLUTION
This error can be reproduced using example program operator_ex08.f90. Compaq
confirmed that this was a problem with the 6.5 compiler. They have corrected
module files on their ftp site:
ftp.compaq.com/pub/products/fortran/vf/supp/CVF65-IMSL-MODFILES.zip
60. F90 4.01 - results of validate example on Cray
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Cray SV1
PROBLEM DESCRIPTION
The results of the validate example for F90 4.01 on Cray SV1 do not match
those documented in the readme file.
SOLUTION
The results of imslmp.f90 are documented incorrectly in the readme file.
The expected results on Cray SV1 are:
1 - 5 2.757E-02 3.836E-01 1.556E-01 3.065E-01 9.858E-02
61. F90 4.01 - pfs_mount giving up on HP
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: HP
PROBLEM DESCRIPTION
On HP, attempt to mount CTT3.0 cd with pfs_mount command produces
this error message:
pfs_mount: giving up on /cdrom
SOLUTION
The pfs_mount command requires running daemons. Check to be certain that
these daemons have been started. If not, these commands may be used to
start them:
# nohup /usr/sbin/pfs_mountd &
# nohup /usr/sbin/pfsd &
62. F90 4.01 - Portland Group 3.2-3 compiler on linux
-
PRODUCT/PLATFORM INFORMATION
Product/Version #: F90 4.01
Architecture/OS version: Linux
PROBLEM DESCRIPTION
F90 4.01 for Portland Group 3.1-2 compiler on Linux does not work with 3.2-3 compiler:
$F90 $F90FLAGS -o imslmp imslmp.f90 $LINK_F90
PGF90-S-0004-Incompatible or Old Module file
/usr/local/vni/CTT3.0/include/linux/rand_gen_int.mod (imslmp.f90: 8)
PGF90-F-0004-Compile source file with the same compiler rand_gen_i
| |