12.07.2015 Views

Dell Power Solutions

Dell Power Solutions

Dell Power Solutions

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

HIGH-PERFORMANCE COMPUTINGEnergy, structureSelf-consistent field (SCF) energy, gradientGeneric tasks (first tier)theories defined by the input. Each module in this layer usestoolkits and routines that reside in the lower layers of thearchitecture to accomplish its tasks. These NWChem modulesRuntime databaseDFT energy, gradientMolecular dynamics (MD), nuclear magneticresonance (NMR), solvationIntegral APIOptimize, dynamicsGeometry objectBasis set objectParallel EigensolverSystem (PeIGS)Molecular calculationmodules (second tier)Molecular modelingtools (third tier)are independent and share data only through a disk-residentdatabase, which allows modules to share data or shareaccess to files containing data.• Molecular modeling tools: The third tier contains tools thatprovide a basic functionality common to many of the algorithmsused in the field of chemistry. These include symmetry,basis sets, grids, geometry, and integrals.• Molecular software development toolkit: This fourth-tiertoolkit makes up the foundation level of the five-tieredstructure of the NWChem code, and enables the developmentof an object-oriented code that is constructed mainlyChemIO APIMemory allocator toolGlobal arrays toolMolecular softwaredevelopment toolkit(fourth tier)in Fortran77.• Utilities: At the lowest level of the NWChem architecture,the fifth tier contains several basic, odds-and-ends functions,including utility routines that most of the higher tiers require.Examples include the timing routines, the input parser, andRuntime databasethe print routines.UtilitiesFigure 1. Five-tier NWChem architectureUnderstanding the architecture of NWChemMolecular dynamics simulations such as NWChem are an importanttool in the study and rational design of molecular systems andmaterials, providing information about the behavior of chemicalsystems that can be difficult to obtain by other means. Considerablecomputational resources are required even for small molecular systems,which have tens of thousands of atoms and short simulationperiods in the range of nanoseconds.Utilities (fifth tier)NWChem has a five-tier, modular architecture (see Figure 1).The application incorporates several existing modules and toolkits atvarious levels in the architecture because of its adherence to objectorientedprogramming concepts. The five tiers are as follows:• Generic tasks: At the first tier, the NWChem interface processesthe input, sets up the parallel environment, and performsany initialization needed for the desired calculations.This tier basically serves as the mechanism that transferscontrol to the different modules in the second tier.• Molecular calculation modules: At the second tier, thesehigh-level programming modules accomplish computationaltasks, performing particular operations using the specifiedTo enable all aspects of the hardware—such as CPU, disk,and memory—to scale to a massively parallel computing architecture,NWChem uses NUMA to distribute the data across allnodes. Memory access is achieved through explicit message passingusing the TCGMSG interface.2 TCGMSG is a toolkitfor writing portable parallelprograms using the MessagePassing Interface (MPI), amessage-passing model.Designed for chemical applications,TCGMSG is relativelysimple, having limitedfunctionality that includespoint-to-point communication,global operations, anda simple load-balancingfacility. This simplicity contributesto the robustness ofHPC clusters built fromindustry-standard componentsare tolerant to componentfailures because they haveno single point of failure,thus enhancing systemavailability and reliability.TCGMSG and its exemplary portability, as well as its high performancein a wide range of problem sizes.Applications written using TCGMSG can be ported betweenenvironments without changes to the parallel code. The memoryallocator (MA) tool is used to allocate memory that is local to thecalling process. The global arrays (GA) tool is used to share arraysbetween processors as if the memory were physically shared. This2For more information about the TCGMSG message-passing library, visit www.emsl.pnl.gov/docs/parsoft/tcgmsg/tcgmsg.html.138POWER SOLUTIONS Reprinted from <strong>Dell</strong> <strong>Power</strong> <strong>Solutions</strong>, February 2005. Copyright © 2005 <strong>Dell</strong> Inc. All rights reserved. February 2005

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!