Dear gromacs users (and eventually developers too), I am trying to debug gromacs and on the gromacs website http://www.gromacs.org/Developer_Zone/Programming_Guide/Programmer's_Guide#local_index
It is stated: "gromacs can be forced to use non assembly routines to do force calculations (easier to debug) by defining "NOASSEMBLYLOOPS=1" as environment variable (e.g. put "export NOASSEMBLYLOOPS=1" without the quotes in your /etc/profile)" I tried to use this approach, but it doesn't work since gdb goes inside the assembly loop. Moreover, in order to check spelling errors I got each getenv call: grep -R getenv `find -name *.c` ./src/kernel/fflibutil.c: lib = getenv("GMXLIB"); ./src/kernel/runner.c: if ((env = getenv("GMX_MAX_THREADS")) != NULL) ./src/kernel/runner.c: getenv("GMXGHAT"),inputrec, (Flags & MD_REPRODUCIBLE)); ./src/kernel/readir.c: if (getenv("GALACTIC_DYNAMICS") == NULL) { ./src/kernel/pdb2gmx.c: bFFRTPTERRNM = (getenv("GMX_NO_FFRTP_TER_RENAME") == NULL); ./src/kernel/do_gct.c: if ((buf = getenv("DISTGCT")) == NULL) ./src/kernel/md.c: if (getenv("GMX_FORCE_UPDATE")) ./src/ngmx/logo.c: if ((newcol=getenv("LOGO"))!=NULL) ./src/ngmx/x11.c: fontname=getenv("GMXFONT"); ./src/ngmx/x11.c: display=getenv("DISPLAY"); ./src/contrib/do_multiprot.c: if ((mptr=getenv("MULTIPROT")) == NULL) { ./src/contrib/do_shift.c: if ((dptr=getenv("TOTAL")) == NULL) ./src/gmxlib/tpxio.c: env = getenv("GMX_NOCHARGEGROUPS"); ./src/gmxlib/checkpoint.c: if (getenv(GMX_IGNORE_FSYNC_FAILURE_ENV)==NULL) ./src/gmxlib/checkpoint.c: if (getenv("GMX_ALLOW_CPT_MISMATCH") == NULL) ./src/gmxlib/statutil.c: select = getenv("GMXTIMEUNIT"); ./src/gmxlib/statutil.c: select = getenv("GMX_VIEW_XVG"); ./src/gmxlib/statutil.c: envstr = getenv("GMXNPRIALL"); ./src/gmxlib/statutil.c: envstr = getenv("GMXNPRI"); ./src/gmxlib/mtop_util.c: env = getenv("GMX_MAXRESRENUM"); ./src/gmxlib/disre.c: ptr = getenv("GMX_DISRE_ENSEMBLE_SIZE"); ./src/gmxlib/viewit.c: if (getenv("DISPLAY") == NULL) { ./src/gmxlib/viewit.c: if ( ! (cmd=getenv(env)) ) { ./src/gmxlib/viewit.c: if ( getenv("XMGR") ) ./src/gmxlib/viewit.c: if ( ! (cmd=getenv(env)) ) ./src/gmxlib/enxio.c: if (getenv("GMX_ENX_NO_FATAL") != NULL) ./src/gmxlib/main.c: if (getenv(GMX_CHECK_MPI_ENV) == NULL) ./src/gmxlib/network.c: if (getenv("GMX_NO_NODECOMM") == NULL) { ./src/gmxlib/gmx_fatal.c: if ((temp=getenv("WHERE")) != NULL) ./src/gmxlib/futil.c: env = getenv("GMX_MAXBACKUP"); ./src/gmxlib/futil.c: if (bUnbuffered || ((bufsize=getenv("LOG_BUFS")) != NULL)) { ./src/gmxlib/futil.c: if (!found && (s=getenv("PATH")) != NULL) ./src/gmxlib/futil.c: lib=getenv("GMXLIB"); ./src/gmxlib/copyrite.c: return (getenv("GMX_NO_QUOTES") == NULL); ./src/gmxlib/vmdio.c: pathenv = getenv("VMD_PLUGIN_PATH"); ./src/gmxlib/txtdump.c: if (getenv("LONGFORMAT") != NULL) ./src/gmxlib/sighandler.c: if (getenv("GMX_NO_TERM") == NULL) ./src/gmxlib/sighandler.c: if (getenv("GMX_NO_INT") == NULL) ./src/gmxlib/sighandler.c: if (getenv("GMX_NO_USR1") == NULL) ./src/gmxlib/nonbonded/nonbonded.c: if(getenv("GMX_NOOPTIMIZEDKERNELS") != NULL) ./src/mdlib/shellfc.c: shfc->bPredict = (getenv("GMX_NOPREDICT") == NULL); ./src/mdlib/shellfc.c: shfc->bForceInit = (getenv("GMX_FORCEINIT") != NULL); ./src/mdlib/qm_orca.c: buf = getenv("BASENAME"); ./src/mdlib/qm_orca.c: buf = getenv("ORCA_PATH"); ./src/mdlib/ns.c: fr->ns.bCGlist = (getenv("GMX_NBLISTCG") != 0); ./src/mdlib/ns.c: char *ptr=getenv("GMX_DUMP_NL"); ./src/mdlib/tpi.c: ptr = getenv("GMX_TPIC_MASSES"); ./src/mdlib/tpi.c: dump_pdb = getenv("GMX_TPI_DUMP"); ./src/mdlib/forcerec.c: if (getenv("GMX_NO_SOLV_OPT")) ./src/mdlib/forcerec.c: getenv("GMX_NO_ALLVSALL") == NULL ./src/mdlib/forcerec.c: env = getenv("GMX_SCSIGMA_MIN"); ./src/mdlib/forcerec.c: if (getenv("GMX_NB_GENERIC") != NULL) ./src/mdlib/forcerec.c: fr->UseOptimizedKernels = (getenv("GMX_NOOPTIMIZEDKERNELS") == NULL); ./src/mdlib/forcerec.c: if (getenv("GMX_FORCE_TABLES")) ./src/mdlib/qm_gaussian.c: buf = getenv("NCPUS"); ./src/mdlib/qm_gaussian.c: buf = getenv("MEM"); ./src/mdlib/qm_gaussian.c: buf = getenv("ACC"); ./src/mdlib/qm_gaussian.c: buf = getenv("CPMCSCF"); ./src/mdlib/qm_gaussian.c: buf = getenv("SASTEP"); ./src/mdlib/qm_gaussian.c: buf = getenv("GAUSS_DIR"); ./src/mdlib/qm_gaussian.c: buf = getenv("GAUSS_EXE"); ./src/mdlib/qm_gaussian.c: buf = getenv("DEVEL_DIR"); ./src/mdlib/qm_gaussian.c: * environment using getenv(). ./src/mdlib/qm_gaussian.c: buf = getenv("STATE"); ./src/mdlib/constr.c: char *env=getenv("GMX_SUPPRESS_DUMP"); ./src/mdlib/constr.c: env = getenv("GMX_MAXCONSTRWARN"); ./src/mdlib/gmx_wallcycle.c: if (PAR(cr) && getenv("GMX_CYCLE_BARRIER") != NULL) ./src/mdlib/gmx_wallcycle.c: if (getenv("GMX_CYCLE_ALL") != NULL) ./src/mdlib/nsgrid.c: ptr = getenv("GMX_NSCELL_NCG"); ./src/mdlib/mdebin.c: md->bConstrVir = (getenv("GMX_CONSTRAINTVIR") != NULL); ./src/mdlib/mdebin.c: md->bEner[i] = (EI_DYNAMICS(ir->eI) && getenv("GMX_VIRIAL_TEMPERATURE")); ./src/mdlib/mdebin.c: bNoseHoover = (getenv("GMX_NOSEHOOVER_CHAINS") != NULL); /* whether to print Nose-Hoover chains */ ./src/mdlib/mdebin.c: bNoseHoover = (getenv("GMX_NOSEHOOVER_CHAINS") != NULL); ./src/mdlib/pull.c: if (getenv("GMX_NO_PULLVIR") != NULL) ./src/mdlib/partdec.c: cap_env = getenv("GMX_CAPACITY"); ./src/mdlib/domdec.c: CartReorder = (getenv("GMX_NO_CART_REORDER") == NULL); ./src/mdlib/domdec.c: val = getenv(env_var); ./src/mdlib/domdec.c: if (getenv("GMX_DD_ORDER_ZYX") != NULL) ./src/mdlib/domdec.c: getenv("GMX_PMEONEDD") == NULL) ./src/tools/gmx_tune_pme.c: if ( (cp = getenv("MPIRUN")) != NULL) ./src/tools/gmx_tune_pme.c: if ( (cp = getenv("MDRUN" )) != NULL ) ./src/tools/gmx_eneconv.c: if ((getenv("VERBOSE")) != NULL) ./src/tools/do_dssp.c: if ((dptr=getenv("DSSP")) == NULL) ./src/tools/gmx_cluster.c: if (getenv("TESTMC")) { ./src/tools/gmx_dipoles.c: if ((ptr = getenv("GKRWIDTH")) != NULL) { ./src/tools/gmx_membed.c: if (getenv("GMX_FORCE_UPDATE")) ./src/tools/gmx_membed.c: getenv("GMXGHAT"),inputrec, (Flags & MD_REPRODUCIBLE)); ./src/tools/gmx_energy.c: if ((getenv("VERBOSE")) != NULL) ./src/tools/gmx_energy.c: if ((getenv("VERBOSE")) != NULL) ./src/tools/gmx_wham.c: if(!(Path=getenv("GMX_PATH_GZIP"))) Interestingly, NOASSEMBLYLOOPS it is never checkd but the variable GMX_NOOPTIMIZEDKERNELS seems to have the same meaning. Is this an undocumented changement? What about the documentation of the internal environment variable in gromacs discussed in http://lists.gromacs.org/pipermail/gmx-developers/2012-March/005714.html ? Francesco -- gmx-users mailing list gmx-users@gromacs.org http://lists.gromacs.org/mailman/listinfo/gmx-users * Only plain text messages are allowed! * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting! * Please don't post (un)subscribe requests to the list. Use the www interface or send it to gmx-users-requ...@gromacs.org. * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists