Analysis performance

For developers writing C++, Fortran, Java, code who have questions or comments to make.

Moderators: silvia, selimgunay, Moderators

Post Reply
drndosh
Posts: 8
Joined: Tue Feb 23, 2016 5:11 am
Location: University of Belgrade

Analysis performance

Post by drndosh »

Greetings,
I want to run OpenSees on Linux machine and I compiled sequential version independently on CentOS on VirtualBox, Debian on VirtualBox and on CentOS on HPC, using appropriate Make.def.EC2 files. When comparing time needed for analysis to complete a job, performance is much worse than on Windows machine, and is equally bad on all three linux installations. For example, time history analysis for MR frame takes about 60 seconds on Windows, and about 1800s on all three Linux machines. If I turn off free vibration of MRF after earthquake, on Linux it take about 370 seconds (I do not need to turn it off on Windows).
My question is, do I miss something when I compile program, or maybe I have problems in scripts, although scripts are running very well on Windows machines?

Thank you,
Nemanja
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Analysis performance

Post by fmk »

the Makefile.def have just standard optimization features set .. the windows binaries that are released (not the ones people build for themselves) are optimized for intel processors and are also linked using intels mkl library.

the discrepency in time could mean that they defeault is building a debug version of the code as opposed to the optimized version .. remove one of the .o files from a dir and in that file type make .. have a look at the -O options in the command line that spits to screen for that file .. what you don't eant to see is no -O's and a -pg
drndosh
Posts: 8
Joined: Tue Feb 23, 2016 5:11 am
Location: University of Belgrade

Re: Analysis performance

Post by drndosh »

fmk wrote:
> the Makefile.def have just standard optimization features set .. the
> windows binaries that are released (not the ones people build for
> themselves) are optimized for intel processors and are also linked using
> intels mkl library.
>
> the discrepency in time could mean that they defeault is building a debug
> version of the code as opposed to the optimized version .. remove one of
> the .o files from a dir and in that file type make .. have a look at the -O
> options in the command line that spits to screen for that file .. what you
> don't eant to see is no -O's and a -pg

If I understood you well. I go to any directory after compilation (e. g. /home/nemanja/OpenSees/SRC/analysis/handler) and remove one of the .o files. Then, in that directory, I need to open terminal and type make.
I removed PlainHandler.o, typed make, and got this:

Making PlainHandler.o from PlainHandler.cpp
/usr/bin/g++ -Wall -D_LINUX -D_UNIX -D_TCL85 -D_NOGRAPHICS -O3 -ffloat-store -I/usr/includes/tcl-private/generic -I/home/nemanja/OpenSees/SRC/matrix -I/home/nemanja/OpenSees/SRC/nDarray -I/home/nemanja/OpenSees/SRC/tagged -I/home/nemanja/OpenSees/SRC/damage -I/home/nemanja/OpenSees/SRC/tcl -I/home/nemanja/OpenSees/SRC/material -I/home/nemanja/OpenSees/SRC/material/wall -I/home/nemanja/OpenSees/SRC/material/uniaxial -I/home/nemanja/OpenSees/SRC/material/uniaxial/fedeas -I/home/nemanja/OpenSees/SRC/material/uniaxial/drain -I/home/nemanja/OpenSees/SRC/material/uniaxial/snap -I/home/nemanja/OpenSees/SRC/material/uniaxial/PY -I/home/nemanja/OpenSees/SRC/material/uniaxial/limitState -I/home/nemanja/OpenSees/SRC/material/uniaxial/limitState/limitCurve -I/home/nemanja/OpenSees/SRC/material/uniaxial/backbone -I/home/nemanja/OpenSees/SRC/material/state -I/home/nemanja/OpenSees/SRC/material/state/stiffness -I/home/nemanja/OpenSees/SRC/material/state/unloading -I/home/nemanja/OpenSees/SRC/material/state/strength -I/home/nemanja/OpenSees/SRC/material/nD -I/home/nemanja/OpenSees/SRC/material/nD/soil -I/home/nemanja/OpenSees/SRC/material/nD/feap -I/home/nemanja/OpenSees/SRC/material/nD/Template3Dep -I/home/nemanja/OpenSees/SRC/material/nD/NewTemplate3Dep -I/home/nemanja/OpenSees/SRC/material/nD/FiniteDeformation -I/home/nemanja/OpenSees/SRC/material/nD/FiniteDeformation/fdFlow -I/home/nemanja/OpenSees/SRC/material/nD/FiniteDeformation/fdYield -I/home/nemanja/OpenSees/SRC/material/nD/FiniteDeformation/fdEvolution -I/home/nemanja/OpenSees/SRC/material/nD/cyclicSoil -I/home/nemanja/OpenSees/SRC/material/nD/UWmaterials -I/home/nemanja/OpenSees/SRC/material/nD/stressDensityModel -I/home/nemanja/OpenSees/SRC/material/section -I/home/nemanja/OpenSees/SRC/material/section/repres/cell -I/home/nemanja/OpenSees/SRC/material/section/repres/patch -I/home/nemanja/OpenSees/SRC/material/section/repres/reinfBar -I/home/nemanja/OpenSees/SRC/material/section/repres/reinfLayer -I/home/nemanja/OpenSees/SRC/material/section/repres/section -I/home/nemanja/OpenSees/SRC/material/section/fiber -I/home/nemanja/OpenSees/SRC/material/section/integration -I/home/nemanja/OpenSees/SRC/material/section/yieldSurface -I/home/nemanja/OpenSees/SRC/material/yieldSurface/evolution -I/home/nemanja/OpenSees/SRC/material/yieldSurface/plasticHardeningMaterial -I/home/nemanja/OpenSees/SRC/material/yieldSurface/yieldSurfaceBC -I/home/nemanja/OpenSees/SRC/material/ce234 -I/home/nemanja/OpenSees/SRC/recorder -I/home/nemanja/OpenSees/SRC/recorder/response -I/home/nemanja/OpenSees/SRC/handler -I/home/nemanja/OpenSees/SRC/database -I/home/nemanja/OpenSees/SRC/renderer -I/home/nemanja/OpenSees/SRC/convergenceTest -I/home/nemanja/OpenSees/SRC/utility -I/home/nemanja/OpenSees/SRC/actor -I/home/nemanja/OpenSees/SRC/actor/channel -I/home/nemanja/OpenSees/SRC/actor/message -I/home/nemanja/OpenSees/SRC/actor/machineBroker -I/home/nemanja/OpenSees/SRC/actor/objectBroker -I/home/nemanja/OpenSees/SRC/actor/actor -I/home/nemanja/OpenSees/SRC/actor/shadow -I/home/nemanja/OpenSees/SRC/actor/address -I/home/nemanja/OpenSees/SRC/tagged/storage -I/home/nemanja/OpenSees/SRC/domain -I/home/nemanja/OpenSees/SRC/domain/domain -I/home/nemanja/OpenSees/SRC/domain/domain/single -I/home/nemanja/OpenSees/SRC/domain/component -I/home/nemanja/OpenSees/SRC/domain/component/storage -I/home/nemanja/OpenSees/SRC/domain/domain/partitioned -I/home/nemanja/OpenSees/SRC/domain/partitioner -I/home/nemanja/OpenSees/SRC/domain/loadBalancer -I/home/nemanja/OpenSees/SRC/domain/subdomain -I/home/nemanja/OpenSees/SRC/domain/region -I/home/nemanja/OpenSees/SRC/domain/node -I/home/nemanja/OpenSees/SRC/domain/load -I/home/nemanja/OpenSees/SRC/domain/pattern -I/home/nemanja/OpenSees/SRC/domain/pattern/drm -I/home/nemanja/OpenSees/SRC/domain/groundMotion -I/home/nemanja/OpenSees/SRC/domain/constraints -I/home/nemanja/OpenSees/SRC/domain/region -I/home/nemanja/OpenSees/SRC/element -I/home/nemanja/OpenSees/SRC/element/beam2d -I/home/nemanja/OpenSees/SRC/element/beam3d -I/home/nemanja/OpenSees/SRC/element/truss -I/home/nemanja/OpenSees/SRC/element/fortran -I/home/nemanja/OpenSees/SRC/element/feap -I/home/nemanja/OpenSees/SRC/element/zeroLength -I/home/nemanja/OpenSees/SRC/element/fourNodeQuad -I/home/nemanja/OpenSees/SRC/element/triangle -I/home/nemanja/OpenSees/SRC/element/PFEMElement -I/home/nemanja/OpenSees/SRC/element/beamWithHinges -I/home/nemanja/OpenSees/SRC/element/dispBeamColumn -I/home/nemanja/OpenSees/SRC/element/dispBeamColumnInt -I/home/nemanja/OpenSees/SRC/element/forceBeamColumn -I/home/nemanja/OpenSees/SRC/element/generic -I/home/nemanja/OpenSees/SRC/element/elasticBeamColumn -I/home/nemanja/OpenSees/SRC/element/8nbrick -I/home/nemanja/OpenSees/SRC/element/20nbrick -I/home/nemanja/OpenSees/SRC/element/27nbrick -I/home/nemanja/OpenSees/SRC/element/upU -I/home/nemanja/OpenSees/SRC/element/UP_ucdavis -I/home/nemanja/OpenSees/SRC/element/UP-ucsd -I/home/nemanja/OpenSees/SRC/element/TotalLagrangianFD20NodeBrick -I/home/nemanja/OpenSees/SRC/element/brick -I/home/nemanja/OpenSees/SRC/element/shell -I/home/nemanja/OpenSees/SRC/element/joint -I/home/nemanja/OpenSees/SRC/element/elastomericBearing -I/home/nemanja/OpenSees/SRC/element/frictionBearing -I/home/nemanja/OpenSees/SRC/element/frictionBearing/frictionModel -I/home/nemanja/OpenSees/SRC/element/adapter -I/home/nemanja/OpenSees/SRC/element/twoNodeLink -I/home/nemanja/OpenSees/SRC/element/updatedLagrangianBeamColumn -I/home/nemanja/OpenSees/SRC/element/UWelements -I/home/nemanja/OpenSees/SRC/element/HUelements -I/home/nemanja/OpenSees/SRC/analysis -I/home/nemanja/OpenSees/SRC/analysis/analysis -I/home/nemanja/OpenSees/SRC/analysis/handler -I/home/nemanja/OpenSees/SRC/analysis/numberer -I/home/nemanja/OpenSees/SRC/analysis/algorithm -I/home/nemanja/OpenSees/SRC/analysis/algorithm/eigenAlgo -I/home/nemanja/OpenSees/SRC/analysis/algorithm/equiSolnAlgo -I/home/nemanja/OpenSees/SRC/analysis/algorithm/equiSolnAlgo/accelerator -I/home/nemanja/OpenSees/SRC/analysis/algorithm/domainDecompAlgo -I/home/nemanja/OpenSees/SRC/analysis/model -I/home/nemanja/OpenSees/SRC/analysis/model/simple -I/home/nemanja/OpenSees/SRC/analysis/method -I/home/nemanja/OpenSees/SRC/analysis/fe_ele -I/home/nemanja/OpenSees/SRC/analysis/fe_ele/penalty -I/home/nemanja/OpenSees/SRC/analysis/fe_ele/lagrange -I/home/nemanja/OpenSees/SRC/analysis/fe_ele/transformation -I/home/nemanja/OpenSees/SRC/analysis/dof_grp -I/home/nemanja/OpenSees/SRC/analysis/integrator -I/home/nemanja/OpenSees/SRC/modelbuilder -I/home/nemanja/OpenSees/SRC/modelbuilder/triangle -I/home/nemanja/OpenSees/SRC/modelbuilder/tcl -I/home/nemanja/OpenSees/SRC/system_of_eqn -I/home/nemanja/OpenSees/SRC/system_of_eqn/eigenSOE -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/slowMatrix -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/bandSPD -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/profileSPD -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/fullGEN -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/bandGEN -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/sparseGEN -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/sparseSYM -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/petsc -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/umfGEN -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/diagonal -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/cg -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/BJsolvers -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/itpack -I/home/nemanja/OpenSees/SRC/system_of_eqn/linearSOE/mumps -I/home/nemanja/OpenSees/SRC/system_of_eqn/eigenSOE -I/home/nemanja/OpenSees/SRC/graph/graph -I/home/nemanja/OpenSees/SRC/graph/numberer -I/home/nemanja/OpenSees/SRC/graph/partitioner -I/home/nemanja/OpenSees/SRC/element/nonlinearBeamColumn/element -I/home/nemanja/OpenSees/SRC/element/nonlinearBeamColumn/fiber -I/home/nemanja/OpenSees/SRC/element/nonlinearBeamColumn/matrixutil -I/home/nemanja/OpenSees/SRC/element/nonlinearBeamColumn/quadrule -I/home/nemanja/OpenSees/SRC/coordTransformation -I/home/nemanja/OpenSees/SRC/reliability/analysis -I/home/nemanja/OpenSees/SRC/reliability/analysis/analysis -I/home/nemanja/OpenSees/SRC/reliability/analysis/analysis/system -I/home/nemanja/OpenSees/SRC/reliability/analysis/convergenceCheck -I/home/nemanja/OpenSees/SRC/reliability/analysis/curvature -I/home/nemanja/OpenSees/SRC/reliability/analysis/designPoint -I/home/nemanja/OpenSees/SRC/reliability/analysis/direction -I/home/nemanja/OpenSees/SRC/reliability/analysis/gFunction -I/home/nemanja/OpenSees/SRC/reliability/analysis/gradient -I/home/nemanja/OpenSees/SRC/reliability/analysis/hessian -I/home/nemanja/OpenSees/SRC/reliability/analysis/meritFunction -I/home/nemanja/OpenSees/SRC/reliability/analysis/misc -I/home/nemanja/OpenSees/SRC/reliability/analysis/randomNumber -I/home/nemanja/OpenSees/SRC/reliability/analysis/rootFinding -I/home/nemanja/OpenSees/SRC/reliability/analysis/sensitivity -I/home/nemanja/OpenSees/SRC/reliability/analysis/stepSize -I/home/nemanja/OpenSees/SRC/reliability/analysis/transformation -I/home/nemanja/OpenSees/SRC/reliability/analysis/telm -I/home/nemanja/OpenSees/SRC/reliability/domain -I/home/nemanja/OpenSees/SRC/reliability/domain/components -I/home/nemanja/OpenSees/SRC/reliability/domain/distributions -I/home/nemanja/OpenSees/SRC/reliability/domain/filter -I/home/nemanja/OpenSees/SRC/reliability/domain/modulatingFunction -I/home/nemanja/OpenSees/SRC/reliability/domain/spectrum -I/home/nemanja/OpenSees/SRC/reliability/domain/storage -I/home/nemanja/OpenSees/SRC/reliability/domain/functionEvaluator -I/home/nemanja/OpenSees/SRC/reliability/domain/performanceFunction -I/home/nemanja/OpenSees/SRC/optimization/tcl -I/home/nemanja/OpenSees/SRC/optimization/domain -I/home/nemanja/OpenSees/SRC/optimization/domain/component -I/home/nemanja/OpenSees/SRC/optimization/SNOPT -I/home/nemanja/OpenSees/SRC/reliability/FEsensitivity -I/home/nemanja/OpenSees/SRC/reliability/tcl -I/home/nemanja/OpenSees/SRC/unittest -I/home/nemanja/OpenSees/SRC/api -I/home/nemanja/OpenSees/SRC -I/home/nemanja/OpenSees/OTHER/SuperLU_5.1.1/SRC -I/home/nemanja/OpenSees/SRC/package -I/home/nemanja/OpenSees/SRC/../OTHER/AMD -I/home/nemanja/OpenSees/SRC/../OTHER/CSPARSE -I/home/nemanja/OpenSees/SRC/../OTHER/Triangle -I/home/nemanja/OpenSees/SRC/../OTHER/Tetgen -I/usr/include -I/usr/local/include -I/usr/include/cxx -I/home/nemanja/include -I/home/nemanja/blitz -c PlainHandler.cpp -o PlainHandler.o
Unknown target PenaltyHandlerNoHomoSPMultipliers.o, try: make help


So, on one line before last we can see "-o", but no "-pg"-s.
If I did it right, what is a solution? How to compile optimized version?

Thank you,
Nemanja
Post Reply