Hello Jianxin, The qmix8.F error was still present when I compiled version 13 on AIX 7.1. I also changed these manually.
With version 14 of xlf90, I did not see the loop error that you mentioned, however, I did see it with version 11 of xlf90 on AIX 6.1. I did not use -qalign or -qstrict. Maybe try without these? Also I recommend using the most aggressive optimization, O5. Testing the benchmark in serial it seems to have a significant benefit. The '&' issue is still present in W2k13 for the SRC_hf files (several). I added these manually. There are several other issues getting W2k to run in the AIX environment. A standard linux bc command and sleep command, for example. These can be installed with rpms. There is an issue with ESSL/Lapack naming of libraries that affects the mixer, so you should link lapack first (for the mixer only). Oliver On Wed, Jul 31, 2013 at 9:52 PM, Gavin Abo <gs...@crimson.ua.edu> wrote: > Try changing > > (/1:nr/) > > to > > (/ (i,i=1,nr) /) > > I believe the later is a more standard equivalent syntax. > > > On 7/31/2013 9:15 PM, Zhu, Jianxin wrote: > > Hi Peter and Wien2k Users, > > When I install wien2k on a IBM Power 7 unit with xlf90_r etc., I see the > following compilation errors --- > > 1. In the more recent version like 12.1, a qmix8.F and SRC_hf folder are > added to the package > > For qmix8.F, the error comes at lines like > > write(21,2121),XUSE,' due to touching spheres' > > So I manually changed it to > write(21,2121) XUSE,' due to touching spheres' > > 2. In the subdirectory of SRC_hf, the symptom of the error is > > xlf90_r -O3 -qalign -qstrict -q64 -qarch=auto -c calc_rhovalvxsl_tmp_.F > "calc_rhovalvxsl_tmp_.F", line 25.48: 1515-019 (S) Syntax is incorrect. > > corresponding to the source line > > r(1:nr) = r0(iat)*exp(dx(iat)*(dble((/1:nr/))-1d0)) > > I know that this way of coding is quite simpler but is not necessarily > application to all compilers. > For IBM XLF, can you suggest some option to recognize the above coding > style? > Otherwise, I will have to change it manually to a do-loop. > > Also, for the continuation of one line, for some executable statements, > I need to provide a second "&" sign like > > if ((nonself .eqv. .false.) .and. (diaghf .eqv. .false.)) & > write(21,'(":CCESUM : ",1x,f22.9,3X,"(Ry)")') ccesum > > ---> > > if ((nonself .eqv. .false.) .and. (diaghf .eqv. .false.)) & > & write(21,'(":CCESUM : ",1x,f22.9,3X,"(Ry)")') ccesum > > There are a lot of places ,where I have to do this. > Is there a simple option for me to avoid manually changing the code? > > Thanks for sharing your experience. > > Cheers, > > Jianxin > > > > _______________________________________________ > Wien mailing list > Wien@zeus.theochem.tuwien.ac.at > http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien > SEARCH the MAILING-LIST at: > http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html > >
_______________________________________________ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html