> See test/mmff94validate.cpp and the comments at the top. The easiest > to grab is: > > MMFF94_dative.mol2 > MMFF94_opti.log
Okay I will definitely have a look at that one. Thanks. > > surprising. I'll be curious what you find. (You can also use > obminimize on _dative.mol2 as well if you want a *lot* of profiling.) > Yes. I want to have a better idea of where is the load in terms of CPU usage. First I tried to use gprof, since its the tool I am most familiar with, but I realize that gprof doesn't work for profiling applications that make use of shared libraries. So I switched to OProfile. I am using CPU_CLK_UNHALTED events to generate statistics. The following sample output shows the VDW energy term together with VectorDivide, --Substract, --Length, and floating point operations are the most frequently issued. This when running obminize against forcefields.sdf CPU: Intel Architectural Perfmon, speed 1600 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 12000 samples % image name symbol name ------------------------------------------------------------------------------- 13316 6.9366 libopenbabel.so.4.0.0 OpenBabel::OBForceField::VectorDivide(double*, double, double*) 12735 6.6339 plugin_forcefields.so void OpenBabel::OBFFVDWCalculationMMFF94::Compute<false>() 11612 6.0489 libopenbabel.so.4.0.0 OpenBabel::OBForceField::VectorSubtract(double*, double*, double*) 10354 5.3936 libopenbabel.so.4.0.0 OpenBabel::OBForceField::VectorLength(double*) 7815 4.0710 libm-2.11.1.so cos 7012 3.6527 libm-2.11.1.so __ieee754_sqrt 5105 2.6593 libm-2.11.1.so __ieee754_acos 4262 2.2202 libm-2.11.1.so __ieee754_atan2 3571 1.8602 libopenbabel.so.4.0.0 OpenBabel::OBForceField::VectorDot(double*, double*) 3317 1.7279 libm-2.11.1.so sqrt 3314 1.7263 plugin_forcefields.so OpenBabel::OBForceField::VectorDistance(double*, double*) 3087 1.6081 libopenbabel.so.4.0.0 OpenBabel::OBForceField::VectorCross(double*, double*, double*) 3030 1.5784 libopenbabel.so.4.0.0 vector<OpenBabel::OBBond*>::iterator::__normal_iterator(OpenBabel::OBBond** const&) 2749 1.4320 plugin_forcefields.so void OpenBabel::OBFFVDWCalculationMMFF94::Compute<true>() -- truncated output --- Martin handle me a bigger file of molecules, that I will profile but this time using obenergy, in order to have a better idea of how the terms from MMFF94 are making use of the processor. And I want also to profile obconformer using small/medium sized molecules. > I think Tim also started on porting the forcefield.cpp code over to > use the Eigen template matrix/vector library: > https://github.com/timvdm/OBForceField/tree/master/src > I have to have a look at this too Cheers, -- Omar V.M. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel