- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Hello
For some reason I get the error message
BandStruc.f90(1): catastrophic error: **Internal compiler error: internal abort** 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.
program BandStruc
when trying to compile my program (BandStruc.f90, attached to this post). The error began when writing the sub routine below
subroutine DivideBZ
implicit none
double precision, dimension(4,3,8**Ndiv) :: IBZ1,IBZ2,IBZ3
IBZ1 = DoDivide(reshape((/X,W,U,G/),(/4,3/)),Ndiv);
IBZ2 = DoDivide(reshape((/L,W,U,G/),(/4,3/)),Ndiv);
IBZ3 = DoDivide(reshape((/L,W,U,G/),(/4,3/)),Ndiv);
call WriteMat(IBZ1(:,:,2))
end subroutine
The strange thing is that i only get the error message when the line "IBZ3 = ..." is present - thus the program runs fine with only the "IBZ1 = ..." and "IBZ2 = ..." lines (or actually any two of the above). It does not help to assemble the arrays into one (instead of three), and it does not matter what data I put in (G,W,L,W and U are vectors). For some reason a test program which only includes this subroutine do not produce any errors... I compile my program using the line
ifort BandStruc.f90 -L(path to lib/32) -I(path to include/32 (Path to lib/32)libmkl_solver_sequential.a -Wl,--start-group (Path to lib/32)/libmkl_intel.a (Path to lib/32)libmkl_sequential.a (Path to lib/32)libmkl_core.a (Path to lib/32)/libmkl_lapack95.a (Path to lib 32)/libmkl_blas95.a -I/opt/intel (Path to lib/32)/mkl_lapack -Wl,--end-group -lpthread -p gnufor2.f90
I am wondering whether this is my fault or an error with the compiler (as the error message states)...? Any help or comments will be much appreciated!
My system is AMD Turion x2, Ubuntu 9.04 (32 bit), intel Fortran 11.1 + mkl installed from the intel Fortran installation file.
- Mads Trolle
- Balises:
- Intel® Fortran Compiler
Lien copié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
For some reason this problem is solved by introducing a temporary array, which is allocated before and deallocated after each call to the DoDivide function. Thus my subroutine is now
subroutine DivideBZ
implicit none
double precision, dimension(4,3,8**Ndiv) :: IBZ1,IBZ2,IBZ3
double precision, allocatable :: IBZt(:,:,:)
allocate(IBZt(4,3,8**Ndiv))
IBZt = DoDivide(reshape((/X,W,U,G/),(/4,3/)),Ndiv);
IBZ1 = IBZt
deallocate(IBZt)
allocate(IBZt(4,3,8**Ndiv))
IBZt = DoDivide(reshape((/L,W,U,G/),(/4,3/)),Ndiv);
IBZ2 = IBZt
deallocate(IBZt)
allocate(IBZt(4,3,8**Ndiv))
IBZt = DoDivide(reshape((/L,W,U,G/),(/4,3/)),Ndiv);
IBZ3 = IBZt
deallocate(IBZt)
call WriteMat(IBZ1(:,:,2))
end subroutine
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
Still a problem -
this time the catastrophic error ocurs simply if a add an empty line between two subroutines (or add any more program lines to my program)... This is quite frustrating, and i can only conclude that the intel Fortran compiler is too unstable to use on my specific platform.
- Regards
Mads Trolle
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié
- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Surligner
- Imprimer
- Signaler un contenu inapproprié

- S'abonner au fil RSS
- Marquer le sujet comme nouveau
- Marquer le sujet comme lu
- Placer ce Sujet en tête de liste pour l'utilisateur actuel
- Marquer
- S'abonner
- Page imprimable