“NanoElectronics Modeling tool – NEMO5” Jean Michel D. Sellier Purdue University.

Slides:



Advertisements
Similar presentations
Computations with Big Image Data Phuong Nguyen Sponsor: NIST 1.
Advertisements

EUFORIA FP7-INFRASTRUCTURES , Grant JRA4 Overview and plans M. Haefele, E. Sonnendrücker Euforia kick-off meeting 22 January 2008 Gothenburg.
Tutorial1: NEMO5 Technical Overview
Current Progress on the CCA Groundwater Modeling Framework Bruce Palmer, Yilin Fang, Vidhya Gurumoorthi, Computational Sciences and Mathematics Division.
1 Coven a Framework for High Performance Problem Solving Environments Nathan A. DeBardeleben Walter B. Ligon III Sourabh Pandit Dan C. Stanzione Jr. Parallel.
Parallel Algorithms in STAPL Implementation and Evaluation Jeremy Vu, Mauro Bianco, Nancy Amato Parasol Lab, Department of Computer.
ARCS Data Analysis Software An overview of the ARCS software management plan Michael Aivazis California Institute of Technology ARCS Baseline Review March.
Chapter 3.2 C++, Java, and Scripting Languages. 2 C++ C used to be the most popular language for games Today, C++ is the language of choice for game development.
Astrophysics, Biology, Climate, Combustion, Fusion, Nanoscience Working Group on Simulation-Driven Applications 10 CS, 10 Sim, 1 VR.
Network for Computational Nanotechnology (NCN) UC Berkeley, Univ.of Illinois, Norfolk State, Northwestern, Purdue, UTEP Tutorial 2. Input & output in NEMO5.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Basis Light-Front Quantization: a non-perturbative approach for quantum field theory Xingbo Zhao With Anton Ilderton, Heli Honkanen, Pieter Maris, James.
CompuCell Software Current capabilities and Research Plan Rajiv Chaturvedi Jesús A. Izaguirre With Patrick M. Virtue.
NetLogo Dr. Feng Gu. NetLogo NetLogo is a programmable modeling environment for simulating natural and social phenomena, authored by Uri Wilensky in 1999.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Company Overview for GDF Suez December 29, Enthought’s Business Enthought provides products and consulting services for scientific software solutions.
Development of ORBIT Data Generation and Exploration Routines G. Shelburne K. Indireshkumar E. Feibush.
Programming Languages: Scratch Intro to Scratch. Lower level versus high level Clearly, lower level languages can be tedious Higher level languages quickly.
Tutorial3: NEMO5 Models Jean Michel D. Sellier, Tillmann Kubis, Michael Povolotskyi, Jim Fonseca, Gerhard Klimeck Network for Computational Nanotechnology.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
Nov. 14, 2012 Hank Childs, Lawrence Berkeley Jeremy Meredith, Oak Ridge Pat McCormick, Los Alamos Chris Sewell, Los Alamos Ken Moreland, Sandia Panel at.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
MATRIX MULTIPLY WITH DRYAD B649 Course Project Introduction.
The european ITM Task Force data structure F. Imbeaux.
Stochastic optimization of energy systems Cosmin Petra Argonne National Laboratory.
Nuclear structure and reactions Nicolas Michel University of Tennessee.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
NIH Resource for Biomolecular Modeling and Bioinformatics Beckman Institute, UIUC NAMD Development Goals L.V. (Sanjay) Kale Professor.
Climate-Weather modeling studies Using a Prototype Global Cloud-System Resolving Model Zhi Liang (GFDL/DRC)
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
MESQUITE: Mesh Optimization Toolkit Brian Miller, LLNL
1 "Workshop 31: Developing a Hands-on Undergraduate Parallel Programming Course with Pattern Programming SIGCSE The 44 th ACM Technical Symposium.
Connections to Other Packages The Cactus Team Albert Einstein Institute
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
Visualization in Problem Solving Environments Amit Goel Department of Computer Science Virginia Tech June 14, 1999.
CPSC 871 John D. McGregor Module 8 Session 1 Testing.
Xolotl: A New Plasma Facing Component Simulator Scott Forest Hull II Jr. Software Developer Oak Ridge National Laboratory
MA/CS 471 Lecture 15, Fall 2002 Introduction to Graph Partitioning.
Structured ALE Solver. Overview Structured ALE mesh automatically generated Smaller input deck; Easier modifications to the mesh; Less I/O time. Shorter.
EUROPEAN UNION Polish Infrastructure for Supporting Computational Science in the European Research Space The Capabilities of the GridSpace2 Experiment.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Origami: Scientific Distributed Workflow in McIDAS-V Maciek Smuga-Otto, Bruce Flynn (also Bob Knuteson, Ray Garcia) SSEC.
HPC University Requirements Analysis Team Training Analysis Summary Meeting at PSC September Mary Ann Leung, Ph.D.
NREL is a national laboratory of the U.S. Department of Energy, Office of Energy Efficiency and Renewable Energy, operated by the Alliance for Sustainable.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
Defining the Competencies for Leadership- Class Computing Education and Training Steven I. Gordon and Judith D. Gardiner August 3, 2010.
VisIt Project Overview
Java Programming: From the Ground Up
MASS Java Documentation, Verification, and Testing
Big Data is a Big Deal!.
Chapter 1: An Overview of Computers and Programming Languages
VisIt Libsim Update DOE Computer Graphics Forum 2012 Brad Whitlock
Spark Presentation.
Band Structure Lab with NEMO5 Yi Shen, Nicolás Esquivel Camacho, Michael Povolotskyi ,and Gerhard Klimeck Approach: The communication between Rappture.
Introduction to MATLAB
P A R A L L E L C O M P U T I N G L A B O R A T O R Y
GENERAL VIEW OF KRATOS MULTIPHYSICS
Data Science with Python
Simulation And Modeling
From Use Cases to Implementation
Presentation transcript:

“NanoElectronics Modeling tool – NEMO5” Jean Michel D. Sellier Purdue University

A) Project Overview The project NEMO5 is a simulator for nano-electronic devices. It includes a variety of models (Schroedinger, NEGF, etc.) that helps the design of semiconductor devices from an atomistic perspective. Science goals Petascaled simulations of realistic electronic structures and transport at an atomistic level. The participants, description of team J.M. Sellier, T. Kubis, J. Fonseca, M. Povolotskyi, G. Klimeck, PhD students. History NEMO5 is the achievement of 18 years of research and development. Ancestors are NEMO1D, NEMO3D, NEMO3D-Peta. Sponsors Purdue University, NCN, Intel, Global Foundries, Samsung, Philips, etc.

B) Science Lesson What does the application do, and how? NEMO5 is first of all a general framework where to plug new solvers. The sequence of solver calls is specified by the user and the input and output of the solvers can be specified by the user. There are several levels of parallelization that can be specified by the user. The solvers implemented yet are full quantum electron structures (Schroedinger) and transport (NEGF). Preprocessing solvers/methods like strain calculations can be used too. We also have a Poisson solver, semi-classical models, etc. Every solver has some sort of parallelization, depending on the model used. For example, Schroedinger eigensolvers use spatial parallelization to make the calculations faster. Different kind of eigensolvers can be used to solve that particular equation.

C) Parallel Programming Model MPI, OpenMP, Hybrid, Pthreads, etc MPI, PETSc, SLEPc Languages C++ and Python Runtime libraries, build requirements MPI, PETSc, SLEPc, Boost, libmesh, libvtk, etc. Other infrastructure (python, sockets, java tools, etc) Python What platforms does the application currently run on? Purdue RCAC clusters like Rossmann, Coates, Hansen, etc Jaguar, Kraken Current status & future plans for the programming model The code scales very well for some purposes and has to be optimized for several other tasks (initialization of atom positions and bonds in particular). Future plans are: implementation/optimization of eigensolvers for Schroedinger.

D) Computational Methods What algorithms and math libraries do you use? The algorithms used in the code are basically the ones available in PETSc and SLEPc. In particular cases, where those routines are not well suited, we have our own PETSc low-level home-made algorithms (e.g. Lanczos and Block Lanczos eigensolvers). Current status and future plans for your computation The code scales well but after a certain number of atoms (several tens of millions) it start to suffer. We would like to optimize our eigensolvers to deal with even more atoms (peta-scale level).

E) I/O Patterns and Strategy Input I/O and output I/O patterns Silo, VTK, Point3D, HDF5, binary and ASCII home-made formats Approximate sizes of inputs and outputs It strongly depends on the simulation one is running. It usually runs from some kilobytes to several hundreds of mega. The outputs files are dumped out at the end of every solver. Checkpoint / Restart capabilities: what does it look like? Only for Poisson solver, very basic Current status and future plans for I/O We have plenty of output formats which are enough for our tasks. The checkpoint/Restart capability is very basic and needs to be improved. We are currently investigating what are the libraries around that could make life easier.

F) Visualization and Analysis How do you explore the data generated? Visit, Paraview, Matlab, Octave, GNUplot Do you have a visualization workflow? It depends on the user and what he/she wants to visualize Current status and future plans for your viz and analysis We are happy with what we have right now. It is sufficient for devices analyses.

G) Performance What tools do you use now to explore performance gprof What do you believe is your current bottleneck to better performance? Matrix vector multiplication What do you believe is your current bottleneck to better scaling? Matrix vector multiplication What features would you like to see in perf tools ease of use, intuitive tool, embedded visualization would be a plus Current status and future plans for improving performance faster algorithms and code optimization

H) Tools How do you debug your code? gdb What other tools do you use? N.A. Current status and future plans for improved tool integration and support N.A.

I) Status and Scalability How does your application scale now? Calculations scales well thanks to PETSc. Initialization is still a problem. Where do you want to be in a year? Very fast eigensolvers, petscale capabilities. What are your top 5 pains? (be specific) –1: Initialization of the Hamiltonian 2: Slow SLEPc algorithms 3: Check/Restart points 4: Home-made eigensolvers (Lanczos and Block Lanczos) 5: huge output files What did you change to achieve current scalability? SLEPc eigensolvers – home-made eigensolvers Current status and future plans for improving scaling optimization of our Lanczos eigensolvers

J) Roadmap Where will your science take you over the next 2 years? Bigger structures, more atoms, scalability What do you hope to learn / discover? Simulation of quantum dots at room temperature, explanation of Decoherence phenomenon, Electron-electron interaction (CI), harness the power of single impurity devices for the construction of quantum bits. What improvements will you need to make (algorithms, I/O, etc)? Faster and more scalable eigensolvers, implementation of models that include crystal temperature, same input/output What are your plans? Migrate models from previous nemo3d and nemo3d-peta, and the eigensolver, having a bigger selection of scalable eigensolvers.