LAMMPS Developer Guide 23 Aug 2011
|
|
|
- Ethelbert Harvey
- 10 years ago
- Views:
Transcription
1 LAMMPS Developer Guide 23 Aug 2011 This document is a developer guide to the LAMMPS molecular dynamics package, whose WWW site is at lammps.sandia.gov. It describes the internal structure and algorithms of the code. Sections will be added as we have time, and in response to requests from developers and users. Contents 1 LAMMPS source files 2 2 Class hierarchy of LAMMPS 3 3 How a timestep works 6 1
2 1 LAMMPS source files LAMMPS source files are in two directories of the distribution tarball. The src directory has the majority of them, all of which are C++ files (*.cpp and *.h). Many of these files are in the src directory itself. There are also dozens of packages, which can be included or excluded when LAMMPS is built. See the doc/section build.html section of the manual for more information about packages, or type make from within the src directory, which lists package-related commands, such as make package-status. The source files for each package are in an all-uppercase sub-directory of src, like src/molecule or src/user- CUDA. If the package is currently installed, copies of the package source files will also exist in the src directory itself. The src/stubs sub-directory is not a package but contains a dummy version of the MPI library, used when building a serial version of the code. The lib directory also contains source code for external libraries, used by a few of the packages. Each sub-directory, like meam or gpu, contains the source files, some of which are in different languages such as Fortran. The files are compiled into libraries from within each sub-directory, e.g. performing a make in the lib/meam directory creates a libmeam.a file. These libraries are linked to during a LAMMPS build, if the corresponding package is installed. LAMMPS C++ source files almost always come in pairs, such as run.cpp and run.h. The pair of files defines a C++ class, the Run class in this case, which contains the code invoked by the run command in a LAMMPS input script. As this example illustrates, source file and class names often have a oneto-one correspondence with a command used in a LAMMPS input script. Some source files and classes do not have a corresponding input script command, e.g. force.cpp and the Force class. They are discussed in the next section. 2
3 2 Class hierarchy of LAMMPS Though LAMMPS has a lot of source files and classes, its class hierarchy is quite simple, as outlined in Fig 1. Each boxed name refers to a class and has a pair of associated source files in lammps/src, e.g. memory.cpp and memory.h. More details on the class and its methods and data structures can be found by examining its *.h file. LAMMPS (lammps.cpp/h) is the top-level class for the entire code. It holds an instance of LAMMPS and can be instantiated one or more times by a calling code. For example, the file src/main.cpp simply instantiates one instance of LAMMPS and passes it the input script. The file src/library.cpp contains a C-style library interface to the LAMMPS class. See the lammps/couple and lammps/python directories for examples of simple programs that use LAMMPS through its library interface. A driver program can instantiate the LAMMPS class multiple times, e.g. to embed several atomistic simulation regions within a mesoscale or continuum simulation domain. There are a dozen or so top-level classes within the LAMMPS class that are visible everywhere in the code. They are shaded blue in Fig 1. Thus any class can refer to the y-coordinate of local atom I as atom x[i][1]. This visibility is enabled by a bit of cleverness in the Pointers class (see src/pointers.h) which every class inherits from. There are a handful of virtual parent classes in LAMMPS that define what LAMMPS calls styles. They are shaded red in Fig 1. Each of these are parents of a number of child classes that implement the interface defined by the parent class. For example, the fix style has around 100 child classes. They are the possible fixes that can be specified by the fix command in an input script, e.g. fix nve, fix shake, fix ave/time, etc. The corresponding classes are Fix (for the parent class), FixNVE, FixShake, FixAveTime, etc. The source files for these classes are easy to identify in the src directory, since they begin with the word fix, e,g, fix nve.cpp, fix shake,cpp, fix ave time.cpp, etc. The one exception is child class files for the command style. These implement specific commands in the input script that can be invoked before/after/between runs or which launch a simulation. Examples are the create box, minimize, run, and velocity commands which encode the CreateBox, Minimize, Run, and Velocity classes. The corresponding files are create box,cpp, minimize.cpp, run.cpp, and velocity.cpp. The list of command style files can be found by typing grep COMMAND CLASS *.h from within the src directory, since that word in the header file identifies the class as an input script command. Similar words can be grepped to list files for the other LAMMPS styles. E.g. ATOM CLASS, PAIR CLASS, BOND CLASS, REGION CLASS, FIX CLASS, COMPUTE CLASS, DUMP CLASS, etc. More details on individual classes in Fig 1 are as follows: The Memory class handles allocation of all large vectors and arrays. The Error class prints all error and warning messages. 3
4 Memory Error Universe Input Atom Update Neighbor Variable Command AtomVec Integrate Min NeighList NeighRequest Finish Special LAMMPS Comm Domain Irregular Region Lattice Force Modify Group Output Timer Pair Bond Angle Dihedral Improper KSpace Fix Compute Thermo Dump WriteRestart FFT3D Remap Figure 1: Class hierarchy within LAMMPS source code. The Universe class sets up partitions of processors so that multiple simulations can be run, each on a subset of the processors allocated for a run, e.g. by the mpirun command. The Input class reads an input script, stores variables, and invokes standalone commands that are child classes of the Command class. As discussed above, the Command class is a parent class for certain input script commands that perform a one-time operation before/after/between simulations or which invoke a simulation. They are instantiated from within the Input class, invoked, then immediately destructed. The Finish class is instantiated to print statistics to the screen after a simulation is performed, by commands like run and minimize. The Special class walks the bond topology of a molecular system to find 1st, 2nd, 3rd neighbors of each atom. It is invoked by several commands, like read data, read restart, and replicate. 4
5 The Atom class stores all per-atom arrays. More precisely, they are allocated and stored by the AtomVec class, and the Atom class simply stores a pointer to them. The AtomVec class is a parent class for atom styles, defined by the atom style command. The Update class holds an integrator and a minimizer. The Integrate class is a parent style for the Verlet and rrespa time integrators, as defined by the run style input command. The Min class is a parent style for various energy minimizers. The Neighbor class builds and stores neighbor lists. The NeighList class stores a single list (for all atoms). The NeighRequest class is called by pair, fix, or compute styles when they need a particular kind of neighbor list. The Comm class performs interprocessor communication, typically of ghost atom information. This usually involves MPI message exchanges with 6 neighboring processors in the 3d logical grid of processors mapped to the simulation box. Sometimes the Irregular class is used, when atoms may migrate to arbitrary processors. The Domain class stores the simulation box geometry, as well as geometric Regions and any user definition of a Lattice. The latter are defined by region and lattice commands in an input script. The Force class computes various forces between atoms. The Pair parent class is for non-bonded or pair-wise forces, which in LAMMPS lingo includes many-body forces such as the Tersoff 3-body potential. The Bond, Angle, Dihedral, Improper parent classes are styles for bonded interactions within a static molecular topology. The KSpace parent class is for computing long-range Coulombic interactions. One of its child classes, PPPM, uses the FFT3D and Remap classes to communicate grid-based information with neighboring processors. The Modify class stores lists of Fix and Compute classes, both of which are parent styles. The Group class manipulates groups that atoms are assigned to via the group command. It also computes various attributes of groups of atoms. The Output class is used to generate 3 kinds of output from a LAMMPS simulation: thermodynamic information printed to the screen and log file, dump file snapshots, and restart files. These correspond to the Thermo, Dump, and WriteRestart classes respectively. The Dump class is a parent style. The Timer class logs MPI timing information, output at the end of a run. 5
6 3 How a timestep works The first and most fundamental operation within LAMMPS to understand is how a timestep is structured. Timestepping is performed by the Integrate class within the Update class. Since Integrate is a parent class, corresponding to the run style input script command, it has child classes. In this section, the timestep implemented by the Verlet child class is described. A similar timestep is implemented by the Respa child class, for the rrespa hierarchical timestepping method. The Min parent class performs energy minimization, so does not perform a literal timestep. But it has logic similar to what is described here, to compute forces and invoke fixes at each iteration of a minimization. Differences between time integration and minimization are highlighted at the end of this section. The Verlet class is encoded in the src/verlet.cpp and verlet.h files. It implements the velocity-verlet timestepping algorithm. The workhorse method is Verlet::run(), but first we highlight several other methods in the class. The init() method is called at the beginning of each dynamics run. It simply sets some internal flags, based on user settings in other parts of the code. The setup() or setup minimal() methods are also called before each run. The velocity-verlet method requires current forces be calculated before the first timestep, so these routines compute forces due to all atomic interactions, using the same logic that appears in the timestepping described next. A few fixes are also invoked, using the mechanism described in the next section. Various counters are also initialized before the run begins. The setup minimal() method is a variant that has a flag for performing less setup. This is used when runs are continued and information from the previous run is still valid. For example, if repeated short LAMMPS runs are being invoked, interleaved by other commands, via the pre no and every options of the run command, the setup minimal() method is used. The force clear() method initializes force and other arrays to zero before each timestep, so that forces (torques, etc) can be accumulated. Now for the Verlet::run() method. Its structure in hi-level pseudo code is shown in Fig 2. In the actual code in src/verlet.cpp some of these operations are conditionally invoked. The ev set() method (in the parent Integrate class), sets two flags (eflag and vflag) for energy and virial computation. Each flag encodes whether global and/or per-atom energy and virial should be calculated on this timestep, because some fix or variable or output will need it. These flags are passed to the various methods that compute particle interactions, so that they can skip the extra calculations if the energy and virial are not needed. See the comments with the Integrate::ev set() method which document the flag values. 6
7 At various points of the timestep, fixes are invoked, e.g. fix initial integrate(). In the code, this is actually done via the Modify class which stores all the Fix objects and lists of which should be invoked at what point in the timestep. Fixes are the LAMMPS mechanism for tailoring the operations of a timestep for a particular simulation. As described elsewhere (unwritten section), each fix has one or more methods, each of which is invoked at a specific stage of the timestep, as in Fig 2. All the fixes defined in an input script with an initial integrate() method are invoked at the beginning of each timestep. Fix nve, nvt, npt are examples, since they perform the start-of-timestep velocity-verlet integration to update velocities by a half-step, and coordinates by a full step. The post integrate() method is next. Only a few fixes use this, e.g. to reflect particles off box boundaries in the FixWallReflect class. The decide() method in the Neighbor class determines whether neighbor lists need to be rebuilt on the current timestep. If not, coordinates of ghost atoms are acquired by each processor via the forward comm() method of the Comm class. If neighbor lists need to be built, several operations within the inner if clause of Fig 2 are first invoked. The pre exchange() method of any defined fixes is invoked first. Typically this inserts or deletes particles from the system. Periodic boundary conditions are then applied by the Domain class via its pbc() method to remap particles that have moved outside the simulation box back into the box. Note that this is not done every timestep. but only when neighbor lists are rebuilt. This is so that each processor s sub-domain will have consistent (nearby) atom coordinates for its owned and ghost atoms. It is also why dumped atom coordinates can be slightly outside the simulation box. The box boundaries are then reset (if needed) via the reset box() method of the Domain class, e.g. if box boundaries are shrink-wrapped to current particle coordinates. A change in the box size or shape requires internal information for communicating ghost atoms (Comm class) and neighbor list bins (Neighbor class) be updated. The setup() method of the Comm class and setup bins() method of the Neighbor class perform the update. The code is now ready to migrate atoms that have left a processor s geometric sub-domain to new processors. The exchange() method of the Comm class performs this operation. The borders() method of the Comm class then identifies ghost atoms surrounding each processor s sub-domain and communicates ghost atom information to neighboring processors. It does this by looping over all the atoms owned by a processor to make lists of those to send to each neighbor processor. On subsequent timesteps, the lists are used by the Comm::forward comm() method. Fixes with a pre neighbor() method are then called. These typically re-build some data structure stored by the fix that depends on the current atoms owned by each processor. Now that each processor has a current list of its owned and ghost atoms, LAMMPS is ready to rebuild neighbor lists via the build() method of the Neighbor class. This is typically done by binning all owned and ghost atoms, and scanning a stencil of bins around each owned atom s bin to make a Verlet list of neighboring atoms within the force cutoff plus neighbor skin distance. 7
8 In the next portion of the timestep, all interaction forces between particles are computed, after zeroing the per-atom force vector via the force clear() method. If the newton flag is set to on by the newton command, forces on both owned and ghost atoms are calculated. Pairwise forces are calculated first, which enables the global virial (if requested) to be calculated cheaply (at the end of the Pair::compute() method), by a dot product of atom coordinates and forces. By including owned and ghost atoms in the dot product, the effect of periodic boundary conditions is correctly accounted for. Molecular topology interactions (bonds, angles, dihedrals, impropers) are calculated next. The final contribution is from long-range Coulombic interactions, invoked by the KSpace class. If the newton flag is on, forces on ghost atoms are communicated and summed back to their corresponding owned atoms. The reverse comm() method of the Comm class performs this operation, which is essentially the inverse operation of sending copies of owned atom coordinates to other processor s ghost atoms. At this point in the timestep, the total force on each atom is known. Additional force constraints (external forces, SHAKE, etc) are applied by Fixes that have a post force() method. The second half of the velocity-verlet integration is then performed (another half-step update of the velocities) via fixes like nve, nvt, npt. At the end of the timestep, fixes that define an end of step() method are invoked. These typically perform a diagnostic calculation, e.g. the ave/time and ave/spatial fixes. The final operation of the timestep is to perform any requested output, via the write() method of the Output class. There are 3 kinds of LAMMPS output: thermodynamic output to the screen and log file, snapshots of atom data to a dump file, and restart files. See the thermo style, dump, and restart commands for more details. The iteration performed by an energy minimization is similar to the dynamics timestep of Fig 2. Forces are computed, neighbor lists are built as needed, atoms migrate to new processors, and atom coordinates and forces are communicated to neighboring processors. The only difference is what Fix class operations are invoked when. Only a subset of LAMMPS fixes are useful during energy minimization, as explained in their individual doc pages. The relevant Fix class methods are min pre exchange(), min pre force(), and min post force(). Each is invoked at the appropriate place within the minimization iteration. For example, the min post force() method is analogous to the post force() method for dynamics; it is used to alter or constrain forces on each atom, which affects the minimization procedure. 8
9 loop over N timesteps: ev_set() fix->initial_integrate() fix->post_integrate() nflag = neighbor->decide() if nflag: fix->pre_exchange() domain->pbc() domain->reset_box() comm->setup() neighbor->setup_bins() comm->exchange() comm->borders() fix->pre_neighbor() neighbor->build() else comm->forward_comm() force_clear() fix->pre_force() pair->compute() bond->compute() angle->compute() dihedral->compute() improper->compute() kspace->compute() comm->reverse_comm() fix->post_force() fix->final_integrate() fix->end_of_step() if any output on this step: output->write() Figure 2: Pseudo-code for the Verlet::run() method. 9
HPC Wales Skills Academy Course Catalogue 2015
HPC Wales Skills Academy Course Catalogue 2015 Overview The HPC Wales Skills Academy provides a variety of courses and workshops aimed at building skills in High Performance Computing (HPC). Our courses
Visualizing molecular simulations
Visualizing molecular simulations ChE210D Overview Visualization plays a very important role in molecular simulations: it enables us to develop physical intuition about the behavior of a system that is
Improve Fortran Code Quality with Static Analysis
Improve Fortran Code Quality with Static Analysis This document is an introductory tutorial describing how to use static analysis on Fortran code to improve software quality, either by eliminating bugs
Microscopic and mesoscopic simulations of amorphous systems using LAMMPS and GPU-based algorithms
Microscopic and mesoscopic simulations of amorphous systems using LAMMPS and GPU-based algorithms E. Ferrero and F. Puosi Laboratoire Interdisciplinaire de Physique (LIPhy), UJF and CNRS 14/5/214 Journée
Hardware Assisted Virtualization
Hardware Assisted Virtualization G. Lettieri 21 Oct. 2015 1 Introduction In the hardware-assisted virtualization technique we try to execute the instructions of the target machine directly on the host
Data Visualization for Atomistic/Molecular Simulations. Douglas E. Spearot University of Arkansas
Data Visualization for Atomistic/Molecular Simulations Douglas E. Spearot University of Arkansas What is Atomistic Simulation? Molecular dynamics (MD) involves the explicit simulation of atomic scale particles
Curriculum Map. Discipline: Computer Science Course: C++
Curriculum Map Discipline: Computer Science Course: C++ August/September: How can computer programs make problem solving easier and more efficient? In what order does a computer execute the lines of code
OpenACC 2.0 and the PGI Accelerator Compilers
OpenACC 2.0 and the PGI Accelerator Compilers Michael Wolfe The Portland Group [email protected] This presentation discusses the additions made to the OpenACC API in Version 2.0. I will also present
Creating a Java application using Perfect Developer and the Java Develo...
1 of 10 15/02/2010 17:41 Creating a Java application using Perfect Developer and the Java Development Kit Introduction Perfect Developer has the facility to execute pre- and post-build steps whenever the
EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University. Multitasking ARM-Applications with uvision and RTX
EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University Multitasking ARM-Applications with uvision and RTX 1. Objectives The purpose of this lab is to lab is to introduce
PL/SQL Overview. Basic Structure and Syntax of PL/SQL
PL/SQL Overview PL/SQL is Procedural Language extension to SQL. It is loosely based on Ada (a variant of Pascal developed for the US Dept of Defense). PL/SQL was first released in ١٩٩٢ as an optional extension
Dynamic Load Balancing in Charm++ Abhinav S Bhatele Parallel Programming Lab, UIUC
Dynamic Load Balancing in Charm++ Abhinav S Bhatele Parallel Programming Lab, UIUC Outline Dynamic Load Balancing framework in Charm++ Measurement Based Load Balancing Examples: Hybrid Load Balancers Topology-aware
C++ Programming Language
C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract
Distributed communication-aware load balancing with TreeMatch in Charm++
Distributed communication-aware load balancing with TreeMatch in Charm++ The 9th Scheduling for Large Scale Systems Workshop, Lyon, France Emmanuel Jeannot Guillaume Mercier Francois Tessier In collaboration
PCVITA Express Migrator for SharePoint (File System) 2011. Table of Contents
Table of Contents Chapter-1 ---------------------------------------------------------------------------- Page No (2) What is PCVITA Express Migrator for SharePoint (File System)? Migration Supported The
FD4: A Framework for Highly Scalable Dynamic Load Balancing and Model Coupling
Center for Information Services and High Performance Computing (ZIH) FD4: A Framework for Highly Scalable Dynamic Load Balancing and Model Coupling Symposium on HPC and Data-Intensive Applications in Earth
Learn CUDA in an Afternoon: Hands-on Practical Exercises
Learn CUDA in an Afternoon: Hands-on Practical Exercises Alan Gray and James Perry, EPCC, The University of Edinburgh Introduction This document forms the hands-on practical component of the Learn CUDA
CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions
CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly
Towards Large-Scale Molecular Dynamics Simulations on Graphics Processors
Towards Large-Scale Molecular Dynamics Simulations on Graphics Processors Joe Davis, Sandeep Patel, and Michela Taufer University of Delaware Outline Introduction Introduction to GPU programming Why MD
NAMD2- Greater Scalability for Parallel Molecular Dynamics. Presented by Abel Licon
NAMD2- Greater Scalability for Parallel Molecular Dynamics Laxmikant Kale, Robert Steel, Milind Bhandarkar,, Robert Bunner, Attila Gursoy,, Neal Krawetz,, James Phillips, Aritomo Shinozaki, Krishnan Varadarajan,,
ParFUM: A Parallel Framework for Unstructured Meshes. Aaron Becker, Isaac Dooley, Terry Wilmarth, Sayantan Chakravorty Charm++ Workshop 2008
ParFUM: A Parallel Framework for Unstructured Meshes Aaron Becker, Isaac Dooley, Terry Wilmarth, Sayantan Chakravorty Charm++ Workshop 2008 What is ParFUM? A framework for writing parallel finite element
Managing Users, Roles, and Domains
3 Managing Users, Roles, and Domains This chapter describes how to add users to the Learning Management Server, set user roles and permissions, and partition the Learning Management Server into domains.
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Hodor and Bran - Job Scheduling and PBS Scripts
Hodor and Bran - Job Scheduling and PBS Scripts UND Computational Research Center Now that you have your program compiled and your input file ready for processing, it s time to run your job on the cluster.
Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61
F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase
Parallelization: Binary Tree Traversal
By Aaron Weeden and Patrick Royal Shodor Education Foundation, Inc. August 2012 Introduction: According to Moore s law, the number of transistors on a computer chip doubles roughly every two years. First
OSKAR 2.4.0 Example Revision: 8
OSKAR Example Version history: Revision Date Modification 1 2012-04-24 Creation 2 2012-05-15 Updated figures and text for correct polarisation order. 3 2012-06-13 Updated figures and text to reflect changes
Freescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
Embedded Component Based Programming with DAVE 3
Embedded Component Based Programming with DAVE 3 By Mike Copeland, Infineon Technologies Introduction Infineon recently introduced the XMC4000 family of ARM Cortex -M4F processor-based MCUs for industrial
CASSANDRA. Computational Atomistic Simulation Software At Notre Dame for Research Advances
1 CASSANDRA Computational Atomistic Simulation Software At Notre Dame for Research Advances User Manual 1.0 Written by: Edward J. Maginn, Jindal K. Shah, Eliseo MarinRimoldi, Sandip Khan, Neeraj Rai, Thomas
SkyRecon Cryptographic Module (SCM)
SkyRecon Cryptographic Module (SCM) FIPS 140-2 Documentation: Security Policy Abstract This document specifies the security policy for the SkyRecon Cryptographic Module (SCM) as described in FIPS PUB 140-2.
Multi-Block Gridding Technique for FLOW-3D Flow Science, Inc. July 2004
FSI-02-TN59-R2 Multi-Block Gridding Technique for FLOW-3D Flow Science, Inc. July 2004 1. Introduction A major new extension of the capabilities of FLOW-3D -- the multi-block grid model -- has been incorporated
NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X
NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X DU-05348-001_v5.5 July 2013 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About
oxigen system Slot.it oxigen timing RMS installation Dongle driver installation 1/ 11 Race Management Software
1/ 11 Slot.it oxigen timing RMS installation To install the Slot.it oxigen timing-rms software, follow these steps: 1. download the O2_chrono_installer.zip file from Slot.it ftp site; 2. unzip the downloaded
Ansur Test Executive. Users Manual
Ansur Test Executive Users Manual April 2008 2008 Fluke Corporation, All rights reserved. All product names are trademarks of their respective companies Table of Contents 1 Introducing Ansur... 4 1.1 About
Molecular Dynamics Simulations
Molecular Dynamics Simulations Yaoquan Tu Division of Theoretical Chemistry and Biology, Royal Institute of Technology (KTH) 2011-06 1 Outline I. Introduction II. Molecular Mechanics Force Field III. Molecular
Tutorial: Packaging your server build
Tutorial: Packaging your server build This tutorial walks you through the steps to prepare a game server folder or package containing all the files necessary for your game server to run in Amazon GameLift.
Visualization of 2D Domains
Visualization of 2D Domains This part of the visualization package is intended to supply a simple graphical interface for 2- dimensional finite element data structures. Furthermore, it is used as the low
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X
NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X DU-05348-001_v6.5 August 2014 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About
Monitoring, Tracing, Debugging (Under Construction)
Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.
Network Administrator s Guide and Getting Started with Autodesk Ecotect Analysis
Autodesk Ecotect Analysis 2011 Network Administrator s Guide and Getting Started with Autodesk Ecotect Analysis This document describes how to install and activate Autodesk Ecotect Analysis 2011 software
Fast Arithmetic Coding (FastAC) Implementations
Fast Arithmetic Coding (FastAC) Implementations Amir Said 1 Introduction This document describes our fast implementations of arithmetic coding, which achieve optimal compression and higher throughput by
Leak Check Version 2.1 for Linux TM
Leak Check Version 2.1 for Linux TM User s Guide Including Leak Analyzer For x86 Servers Document Number DLC20-L-021-1 Copyright 2003-2009 Dynamic Memory Solutions LLC www.dynamic-memory.com Notices Information
OpenFOAM Optimization Tools
OpenFOAM Optimization Tools Henrik Rusche and Aleks Jemcov [email protected] and [email protected] Wikki, Germany and United Kingdom OpenFOAM Optimization Tools p. 1 Agenda Objective Review optimisation
Oracle WebLogic Server
Oracle WebLogic Server Configuring and Using the WebLogic Diagnostics Framework 10g Release 3 (10.3) July 2008 Oracle WebLogic Server Configuring and Using the WebLogic Diagnostics Framework, 10g Release
FactoryTalk Gateway Getting Results Guide
Performance and Visibility FactoryTalk Gateway Getting Results Guide Getting Results Guide Table of contents Chapter 1 Introduction Intended audience... 7 Where to find additional information... 7 Help...
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
Multiphase Flow - Appendices
Discovery Laboratory Multiphase Flow - Appendices 1. Creating a Mesh 1.1. What is a geometry? The geometry used in a CFD simulation defines the problem domain and boundaries; it is the area (2D) or volume
An Introduction to Point Pattern Analysis using CrimeStat
Introduction An Introduction to Point Pattern Analysis using CrimeStat Luc Anselin Spatial Analysis Laboratory Department of Agricultural and Consumer Economics University of Illinois, Urbana-Champaign
A Case Study - Scaling Legacy Code on Next Generation Platforms
Available online at www.sciencedirect.com ScienceDirect Procedia Engineering 00 (2015) 000 000 www.elsevier.com/locate/procedia 24th International Meshing Roundtable (IMR24) A Case Study - Scaling Legacy
Clustering & Visualization
Chapter 5 Clustering & Visualization Clustering in high-dimensional databases is an important problem and there are a number of different clustering paradigms which are applicable to high-dimensional data.
In-situ Visualization
In-situ Visualization Dr. Jean M. Favre Scientific Computing Research Group 13-01-2011 Outline Motivations How is parallel visualization done today Visualization pipelines Execution paradigms Many grids
Scaling up = getting a better machine. Scaling out = use another server and add it to your cluster.
MongoDB 1. Introduction MongoDB is a document-oriented database, not a relation one. It replaces the concept of a row with a document. This makes it possible to represent complex hierarchical relationships
LogiCORE IP AXI Performance Monitor v2.00.a
LogiCORE IP AXI Performance Monitor v2.00.a Product Guide Table of Contents IP Facts Chapter 1: Overview Target Technology................................................................. 9 Applications......................................................................
Ogg Vorbis Audio Decoder Jon Stritar and Matt Papi 6.111 December 14, 2005
Ogg Vorbis Audio Decoder Jon Stritar and Matt Papi 6.111 December 14, 2005 Abstract The goal of this project was to design and implement an Ogg Vorbis decoder in hardware. Ogg Vorbis is a highly dynamic
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
grep, awk and sed three VERY useful command-line utilities Matt Probert, Uni of York grep = global regular expression print
grep, awk and sed three VERY useful command-line utilities Matt Probert, Uni of York grep = global regular expression print In the simplest terms, grep (global regular expression print) will search input
NVLink High-Speed Interconnect: Application Performance
Whitepaper NVIDIA TM NVLink High-Speed Interconnect: Application Performance November 2014 1 Contents Accelerated Computing as the Path Forward for HPC... 3 NVLink: High-Speed GPU Interconnect... 3 Server
Installing HSPICE on UNIX, Linux or Windows Platforms
This document describes how to install the HSPICE product. Note: The installation instructions in this document are the most up-to-date available at the time of production. However, changes might have
A Review of Customized Dynamic Load Balancing for a Network of Workstations
A Review of Customized Dynamic Load Balancing for a Network of Workstations Taken from work done by: Mohammed Javeed Zaki, Wei Li, Srinivasan Parthasarathy Computer Science Department, University of Rochester
Pseudo code Tutorial and Exercises Teacher s Version
Pseudo code Tutorial and Exercises Teacher s Version Pseudo-code is an informal way to express the design of a computer program or an algorithm in 1.45. The aim is to get the idea quickly and also easy
CHM 579 Lab 1: Basic Monte Carlo Algorithm
CHM 579 Lab 1: Basic Monte Carlo Algorithm Due 02/12/2014 The goal of this lab is to get familiar with a simple Monte Carlo program and to be able to compile and run it on a Linux server. Lab Procedure:
Constrained curve and surface fitting
Constrained curve and surface fitting Simon Flöry FSP-Meeting Strobl (June 20, 2006), [email protected], Vienna University of Technology Overview Introduction Motivation, Overview, Problem
VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0
VISUAL GUIDE to RX Scripting for Roulette Xtreme - System Designer 2.0 UX Software - 2009 TABLE OF CONTENTS INTRODUCTION... ii What is this book about?... iii How to use this book... iii Time to start...
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
Beam Loss Monitor Software Guide
Version 1.0 Beam Loss Monitor Software Guide James Leaver 5th December 2008 1 Operating Procedure In order to run the Beam Loss Monitor software, the user should complete the following steps: 1. Open a
Multi-GPU Load Balancing for Simulation and Rendering
Multi- Load Balancing for Simulation and Rendering Yong Cao Computer Science Department, Virginia Tech, USA In-situ ualization and ual Analytics Instant visualization and interaction of computing tasks
Simple Cooperative Scheduler for Arduino ARM & AVR. Aka «SCoop»
Simple Cooperative Scheduler for Arduino ARM & AVR Aka «SCoop» Introduction Yet another library This library aims to provide a light and simple environment for creating powerful multi-threaded programs
Content Management Implementation Guide 5.3 SP1
SDL Tridion R5 Content Management Implementation Guide 5.3 SP1 Read this document to implement and learn about the following Content Manager features: Publications Blueprint Publication structure Users
Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit
Data Structures Page 1 of 24 A.1. Arrays (Vectors) n-element vector start address + ielementsize 0 +1 +2 +3 +4... +n-1 start address continuous memory block static, if size is known at compile time dynamic,
Distributed Dynamic Load Balancing for Iterative-Stencil Applications
Distributed Dynamic Load Balancing for Iterative-Stencil Applications G. Dethier 1, P. Marchot 2 and P.A. de Marneffe 1 1 EECS Department, University of Liege, Belgium 2 Chemical Engineering Department,
Protein Protein Interaction Networks
Functional Pattern Mining from Genome Scale Protein Protein Interaction Networks Young-Rae Cho, Ph.D. Assistant Professor Department of Computer Science Baylor University it My Definition of Bioinformatics
Enterprise Service Bus
We tested: Talend ESB 5.2.1 Enterprise Service Bus Dr. Götz Güttich Talend Enterprise Service Bus 5.2.1 is an open source, modular solution that allows enterprises to integrate existing or new applications
Automating. Administration. Microsoft SharePoint 2010. with Windows. PowerShell 2.0. Gary Lapointe Shannon Bray. Wiley Publishing, Inc.
Automating Microsoft SharePoint 2010 Administration with Windows PowerShell 2.0 Gary Lapointe Shannon Bray WILEY Wiley Publishing, Inc. TABLE OF CONTENTS B S8 0 «4} 8#«l6& Introduction xxv Part 1 Getting
Business Application
137 Germain CRT Validation Rules for Siebel CRM 7.7,7.8,8.0,8.1,8.2 Validation Rule Name Validation Rule Description Business Application Siebel Repository Level Improve CPU Improve Memory GS-SBL-REP-JDBC-1001
An Incomplete C++ Primer. University of Wyoming MA 5310
An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages
Python for Series 60 Platform
F O R U M N O K I A Getting Started with Python for Series 60 Platform Version 1.2; September 28, 2005 Python for Series 60 Platform Copyright 2005 Nokia Corporation. All rights reserved. Nokia and Nokia
Direct Storage Access Using NetApp SnapDrive. Installation & Administration Guide
Direct Storage Access Using NetApp SnapDrive Installation & Administration Guide SnapDrive overview... 3 What SnapDrive does... 3 What SnapDrive does not do... 3 Recommendations for using SnapDrive...
HDL Simulation Framework
PPC-System.mhs CoreGen Dateien.xco HDL-Design.vhd /.v SimGen HDL Wrapper Sim-Modelle.vhd /.v Platgen Coregen XST HDL Simulation Framework RAM Map Netzliste Netzliste Netzliste UNISIM NetGen vcom / vlog.bmm.ngc.ngc.ngc
Feedback guided load balancing in a distributed memory environment
Feedback guided load balancing in a distributed memory environment Constantinos Christofi August 18, 2011 MSc in High Performance Computing The University of Edinburgh Year of Presentation: 2011 Abstract
Overview of NAMD and Molecular Dynamics
Overview of NAMD and Molecular Dynamics Jim Phillips Low-cost Linux Clusters for Biomolecular Simulations Using NAMD Outline Overview of molecular dynamics Overview of NAMD NAMD parallel design NAMD config
TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control
TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control Version 3.4, Last Edited 9/10/2011 Students Name: Date of Experiment: Read the following guidelines before working in
Scalable coupling of Molecular Dynamics (MD) and Direct Numerical Simulation (DNS) of multi-scale flows
Scalable coupling of Molecular Dynamics (MD) and Direct Numerical Simulation (DNS) of multi-scale flows Lucian Anton 1, Edward Smith 2 1 Numerical Algorithms Group Ltd, Wilkinson House, Jordan Hill Road,
Data Mining. Cluster Analysis: Advanced Concepts and Algorithms
Data Mining Cluster Analysis: Advanced Concepts and Algorithms Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 1 More Clustering Methods Prototype-based clustering Density-based clustering Graph-based
Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine
Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build
Optimizing Load Balance Using Parallel Migratable Objects
Optimizing Load Balance Using Parallel Migratable Objects Laxmikant V. Kalé, Eric Bohm Parallel Programming Laboratory University of Illinois Urbana-Champaign 2012/9/25 Laxmikant V. Kalé, Eric Bohm (UIUC)
Model Run Analysis. Technical Documentation Version 6.7. Center for Advanced Decision Support for Water and Environmental Systems
Technical Documentation Version 6.7 Model Run Analysis CADSWES S Center for Advanced Decision Support for Water and Environmental Systems These documents are copyrighted by the Regents of the University
Entering the example employee satisfaction survey in Survey Crafter Professional s Survey Designer window
Survey Crafter, Inc. Survey Crafter Walkthrough Summary: Walkthrough: Applies to: Topic: Synopsis This tutorial walks you through entering the example employee satisfaction survey in Survey Crafter Professional
Parallel Computing using MATLAB Distributed Compute Server ZORRO HPC
Parallel Computing using MATLAB Distributed Compute Server ZORRO HPC Goals of the session Overview of parallel MATLAB Why parallel MATLAB? Multiprocessing in MATLAB Parallel MATLAB using the Parallel Computing
ML310 Creating a VxWorks BSP and System Image for the Base XPS Design
ML310 Creating a VxWorks BSP and System Image for the Base XPS Design Note: Screen shots in this acrobat file appear best when Acrobat Magnification is set to 133.3% Outline Software Requirements Software
Implementing Domain Name Service (DNS)
Implementing Domain Name Service (DNS) H C A 1 P T E R ITINERARY Objective 1.01 Objective 1.02 Objective 1.03 Install and Configure DNS for Active Directory Integrate Active Directory DNS Zones with Existing
C# Cookbook. Stephen Teilhet andjay Hilyard. O'REILLY 8 Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo '"J""'
C# Cookbook '"J""' Stephen Teilhet andjay Hilyard O'REILLY 8 Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo Tableof Contents Preface xv 1. Numbers 1 1.1 Determining Approximate Equality Between
Integrated Accounting System for Mac OS X and Windows
Integrated Accounting System for Mac OS X and Windows Program version: 6.2 110111 2011 HansaWorld Ireland Limited, Dublin, Ireland Preface Books by HansaWorld is a powerful accounting system for the Mac
3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version
Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin [email protected] Carl Timmer [email protected]
ebus Player Quick Start Guide
ebus Player Quick Start Guide This guide provides you with the information you need to efficiently set up and start using the ebus Player software application to control your GigE Vision or USB3 Vision
