From owner-chemistry "-at-" ccl.net Sat May 6 15:00:00 2006 From: "dedey%x%alumni.bilkent.edu.tr" To: CCL Subject: CCL: Summ. GAMESS AMD 64 Linking & a strange new situation Message-Id: <-31698-060506145701-3272-IyYvZceRebjWImuKK6BqgQ/./server.ccl.net> X-Original-From: Date: Sat, 06 May 2006 21:56:52 EEST Sent to CCL by: [dedey:+:alumni.bilkent.edu.tr] Hi all, This is a summary about GAMESS compilation on AMD 64 pc running FC 4. !!!PLEASE PAY ATTENTION TO THE FUNNY SITUATION AFTER THE COMMENTS OF THE MEMBERS!!! My specific problem was ill activation of one of the source files. Although I specified the true targets (AMD 64) unport.src which has machine dependent codes was not activated.(I still wonder why) When I activated it manually by replacing all *AMD characters with blanks I could link it succesfully. So I managed as follows: 1. manually changed syntax errors of prppop.src (refer to GAMESS mailing list) 2. followed the instructions of readme.unix file 3. manually erased all *AMD characters in unport.src and formed the object unport.o manually normally this part is done by the compall script which calls actvate.x for activation accoarding to the specific target 4. compiled and linked using pgi without any error 5. configured the rungms & runall scripts, tested all input files. all tests were performed succesfully I thank to whom participated. BELOW ARE COMMENTS FROM THEM ************************************************************************ Brian Salter-Duke It looks to me as if you need to address machine specific stuff in unport.src. Those missing objects early in the lked output may be important. ************************************************************************ zhendong zhao zzhao . olemiss.edu Hi, As I said in the previous email, the updated version has some errors in source code. in prppop.src, the > should be .GT.. == should be .EQ.. After I correct these errors, I can successfully compile the updated version gamess for AMD64 with PGI x64 verion even without changing any scripts. This error is mentioned by others in gamess email list. ************************************************************************ Xiaojian Mao what is exactly your linking problem? a lot of undefined symboles? Normally you should search all library files in your machine to find out which library you should include. In my case, I found all those symbols in the "libgcc_eh.a" library file. Adding paramter "-lgcc_eh" to the link source code solved the problem. ************************************************************************ THE FUNNY THING IS: I tested the performances of 32 bit and 64 bit GAMESS executables on the 64 bit AMD pc. In most cases 64 bit executable runs faster but with the CR-CC job employing TZV basis 64 bit executable cannot finish the job whereas 32 bit exe does succesfully. Inputs are same for both jobs and given below. $CONTRL RUNTYP=energy CCTYP=CR-CC $END $BASIS GBASIS=tzv $END $CONTRL ISPHER=1 $END $BASIS NDFUNC=2 NFFUNC=1 NPFUNC=1 POLAR=POPN311 $END $CONTRL NOSYM=1 $END $system mwords=460 $end I here give the related parts from the log files, 64 bit one cannot pass the point below but 32 bit finishes succesfully. **** BELOW IS WHERE AMD 64 INCOMPLETE JOB GETS STUCK*** COUPLED CLUSTER CALCULATION --------------------------- CCTYP =CR-CC TOTAL NUMBER OF MOS = 222 NUMBER OF OCCUPIED MOS = 21 NUMBER OF FROZEN CORE MOS = 6 NUMBER OF FROZEN VIRTUAL MOS = 0 MAXIMUM CC ITERATIONS = 30 MAXIMUM DIIS ITERATIONS = 5 CONVERGENCE CRITERION FOR CC = 7 AMPLITUDE ACCURACY THRESHOLD = 0.0E+00 ------------------------------- PARTIAL INTEGRAL TRANSFORMATION ------------------------------- NUMBER OF CORE MOLECULAR ORBITALS = 6 NUMBER OF OCCUPIED MOLECULAR ORBITALS = 222 TOTAL NUMBER OF MOLECULAR ORBITALS = 222 TOTAL NUMBER OF ATOMIC ORBITALS = 252 THRESHOLD FOR KEEPING TRANSFORMED 2E- INTEGRALS = 1.000E-09 AO INTEGRALS WILL BE READ IN FROM DISK... EVALUATING THE FROZEN CORE ENERGY... ----- FROZEN CORE ENERGY = -294.1883029370 # OF WORDS AVAILABLE = 460000000 # OF WORDS NEEDED = 1735561322 FOR IN MEMORY TRANSFORMATION FOR THE SEGMENTED TRANSFORMATION: MINIMUM= 8411282 WORDS FOR 1 MOLECULAR ORBITAL PER PASS MAXIMUM=1735561322 WORDS FOR ALL MOLECULAR ORBITALS IN 1 PASS ( 8033256 EXTRA WORDS WOULD INCLUDE AN EXTRA ORBITAL/PASS) SEGMENTED PARTIAL TRANSFORMATION WOULD USE 434173850 WORDS, DISTRIBUTING 4 PASSES EACH CONTAINING 54 ORBITALS OVER 1 PROCESSORS. CHOOSING SEGMENTED PARTIAL TRANSFORMATION... PASS # 1 TOOK 496.02 SECONDS. PASS # 2 TOOK 581.45 SECONDS. **************** stuck in pass # 3 ????? ***************** DDI Process 0: trapped a segmentation fault (SIGSEGV). ddikick.x: application process 0 quit unexpectedly. ddikick.x: Fatal error detected. The error is most likely to be in the application, so check for input errors, disk space, memory needs, application bugs, etc. ddikick.x will now clean up all processes, and exit... ddikick.x: Sending kill signal to DDI processes. ddikick.x: Execution terminated due to error(s). **** HERE STARTS PARTIAL 32 BIT LOG FILE **** **** 32 BIT JOB PASSES THIS PART AND COMPLETES THE CALCULATION SUCCESFULLY *** --------------------------- COUPLED CLUSTER CALCULATION --------------------------- CCTYP =CR-CC TOTAL NUMBER OF MOS = 222 NUMBER OF OCCUPIED MOS = 21 NUMBER OF FROZEN CORE MOS = 6 NUMBER OF FROZEN VIRTUAL MOS = 0 MAXIMUM CC ITERATIONS = 30 MAXIMUM DIIS ITERATIONS = 5 CONVERGENCE CRITERION FOR CC = 7 AMPLITUDE ACCURACY THRESHOLD = 0.0E+00 ------------------------------- PARTIAL INTEGRAL TRANSFORMATION ------------------------------- NUMBER OF CORE MOLECULAR ORBITALS = 6 NUMBER OF OCCUPIED MOLECULAR ORBITALS = 222 TOTAL NUMBER OF MOLECULAR ORBITALS = 222 TOTAL NUMBER OF ATOMIC ORBITALS = 252 THRESHOLD FOR KEEPING TRANSFORMED 2E- INTEGRALS = 1.000E-09 AO INTEGRALS WILL BE READ IN FROM DISK... EVALUATING THE FROZEN CORE ENERGY... ----- FROZEN CORE ENERGY = -294.1883029370 # OF WORDS AVAILABLE = 460000000 # OF WORDS NEEDED = 1735529570 FOR IN MEMORY TRANSFORMATION FOR THE SEGMENTED TRANSFORMATION: MINIMUM= 8379530 WORDS FOR 1 MOLECULAR ORBITAL PER PASS MAXIMUM=1735529570 WORDS FOR ALL MOLECULAR ORBITALS IN 1 PASS ( 8033256 EXTRA WORDS WOULD INCLUDE AN EXTRA ORBITAL/PASS) SEGMENTED PARTIAL TRANSFORMATION WOULD USE 434142098 WORDS, DISTRIBUTING 4 PASSES EACH CONTAINING 54 ORBITALS OVER 1 PROCESSORS. CHOOSING SEGMENTED PARTIAL TRANSFORMATION... PASS # 1 TOOK 576.36 SECONDS. PASS # 2 TOOK 723.19 SECONDS. PASS # 3 TOOK 787.56 SECONDS. **************** pass # 3 is done ???? ***************** PASS # 4 TOOK 770.50 SECONDS. TOTAL NUMBER OF TRANSFORMED 2E- INTEGRALS KEPT = 274367375 ... END OF INTEGRAL TRANSFORMATION ... STEP CPU TIME = 2876.01 TOTAL CPU TIME = 3208.6 ( 53.5 MIN) TOTAL WALL CLOCK TIME= 4414.7 SECONDS, CPU UTILIZATION IS 72.68% ******************************************************************************************** So I am confused about if recompiling GAMESS with some other parameters will solve the problem or not. Is there a way to skip such erroneous parts with change in the input. Why not the 64 bit executable cannot write the files on the disk where the 32 bit one does. The flow of the calculation as seen from the output is exactly the same for both. The error is a segmentation fault but if someone asks about disk space it is not a problem, there is more than 200 gb free space. The double precision to single thing when moving from 32 to 64 bit architecture is said to be done with the compilation scripts of GAMESS. The identical # OF WORDS AVAILABLE = 460000000 # OF WORDS NEEDED = 1735529570 FOR IN MEMORY TRANSFORMATION messages imply no such single-double precision problem as the amount of memory is the same for both. I also think about swap space... In particular I ask; Can I find the causes by analyzing some specific source files, if yes which? As far as I know there is no way to increase swap space in Linux without repartitioning. If I am mistaken how can I do this? Any other comments? Thanks again... -- Yavuz Dede Comp. Chem. Lab. +90 312 210 3187 METU Ankara