Joshua Alexander University of Oklahoma – IT/OSCER ACI-REF Virtual Residency Workshop Monday June 1, 2015 Deploying Community Codes.

Slides:



Advertisements
Similar presentations
MatLab API in C++ Christopher Dabney. Purpose MatLab … MatLab … is an interpreted scripting language is an interpreted scripting language conversion to.
Advertisements

Lecture 3 Getting Started with ITK!. Goals for this lecture Learn how to use Cmake Build ITK Example programs that use ITK.
Atmosphere and Energy Research Group (AERG) Cristina Archer Niranjan Ghaisas Shengbai Xie Chi Yan Yang Pan High-Performance Computing Symposium, University.
SOFTWARE PRESENTATION ODMS (OPEN SOURCE DOCUMENT MANAGEMENT SYSTEM)
RCAC Research Computing Presents: DiaGird Overview Tuesday, September 24, 2013.
High Performance Computing The GotoBLAS Library. HPC: numerical libraries  Many numerically intensive applications make use of specialty libraries to.
John Kewley e-Science Centre GIS and Grid Computing Workshop 13 th September 2005, Leeds Grid Middleware and GROWL John Kewley
Virtual Machines for HPC Paul Lu, Cam Macdonell Dept of Computing Science.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
High Performance Computing (HPC) at Center for Information Communication and Technology in UTM.
Chapter 3 Software Two major types of software
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
1 CS428 Web Engineering Lecture 18 Introduction (PHP - I)
Creating a Hello App Using Google App Engine. What are Google apps? Apps is an abbreviation for application. An app is a piece of software. It can run.
Introduction of Some Useful Free Software Cheng-Han Du.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA Prof. Dr. Paulo Brasko Ferreira Fall 2014.
Visual Basic: An Object Oriented Approach 12 – Creating and using ActiveX objects.
By: Felegh Solomon ITEC SPRING 2013 CHAPTER 4: KEY CONSTRUCTION DECISIONS.
The BioBox Initiative: Bio-ClusterGrid Gilbert Thomas Associate Engineer Sun APSTC – Asia Pacific Science & Technology Center.
Introduction to FORTRAN
Software – Applications software and programming languages
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
A L I MAM M OHAMMAD B IN S AUD I SLAMIC U NIVERSITY C OLLEGE OF S CIENCES D EPARTMENT OF M ATHEMATICS MATLAB 251 : MATH SOFTWARE Introduction to MATLAB.
MaterialsHub - A hub for computational materials science and tools.  MaterialsHub aims to provide an online platform for computational materials science.
Presented By: Muhammad Tariq Software Engineer Android Training course.
Software and Hardware Interaction
An Introduction to Linux Name: Haixin Wang ID :
(1) A Beginner’s Quick Start to SIMICS. (2) Disclaimer This is a quick start document to help users get set up quickly Does not replace the user guide.
Geant4 Installation Supported platforms:  Scientific Linux with gcc 4.1.2/4.6  Mac Os X 10.7 and 10.8 with gcc 4.21  Windows7 with Visual Studio.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Software – Applications software and programming languages.
Grid MP at ISIS Tom Griffin, ISIS Facility. Introduction About ISIS Why Grid MP? About Grid MP Examples The future.
Productivity Tools Ken Nguyen Department of Information Technology Clayton State University.
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
A (very brief) intro to Eclipse Boyana Norris June 4, 2009.
The new European Toolkit EC-CHM Miruna Bădescu EEA contractor: Eau de Web.
Introduction to GAMS, Netlib, Numerical Recipes CS 3414.
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
Python for: Data Science. Python  Python is an open source scripting language.  Developed by Guido Van Rossum in late 1980s  Named after Monty Python.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA
 Programming - the process of creating computer programs.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Getting Started with Trilinos October 14, :30-10:30 a.m. Jim Willenbring.
CIS 601 Fall 2003 Introduction to MATLAB Longin Jan Latecki Based on the lectures of Rolf Lakaemper and David Young.
More Unix Naomi Altman. Directories Directory = folder mkdir - makes a new directory rmdir - removes an empty directory cd mydirectory - moves you into.
IT1001 – Personal Computer Hardware & System Operations Week 6 - Introduction to software installation.
Module 6: Configuring User Environments Using Group Policies.
LBSC 690 Session 4 Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
EUROPEAN UNION Polish Infrastructure for Supporting Computational Science in the European Research Space The Capabilities of the GridSpace2 Experiment.
CIS 595 MATLAB First Impressions. MATLAB This introduction will give Some basic ideas Main advantages and drawbacks compared to other languages.
Parallel Programming & Cluster Computing Linear Algebra Henry Neeman, University of Oklahoma Paul Gray, University of Northern Iowa SC08 Education Program’s.
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.
CyVerse Workshop Discovery Environment Overview. Welcome to the Discovery Environment A Simple Interface to Hundreds of Bioinformatics Apps, Powerful.
Computer Programming - Key Concepts and Terms Computer Program – A computer program is a set of instructions for computer, arranged in logical order, using.
Defining the Competencies for Leadership- Class Computing Education and Training Steven I. Gordon and Judith D. Gardiner August 3, 2010.
Python Scripting for Computational Science CPS 5401 Fall 2014 Shirley Moore, Instructor October 6,
HedEx Lite Obtaining and Using Huawei Documentation Easily
HPC Roadshow Overview of HPC systems and software available within the LinkSCEEM project.
CSCI-235 Micro-Computer Applications
Computer Software: Programming
A (very brief) intro to Eclipse
Software for scientific calculations
MatLab Programming By Kishan Kathiriya.
MaterialsHub - A hub for computational materials science and tools.
Simulation And Modeling
What is Programming Language
Computational Pipeline Strategies
Presentation transcript:

Joshua Alexander University of Oklahoma – IT/OSCER ACI-REF Virtual Residency Workshop Monday June 1, 2015 Deploying Community Codes

What are Community Codes? Designed for use with UNIX-like operating systems (mostly) Used for computationally intensive scientific analysis Open Source (free … sort of) Any programming language Written by Scientists & Engineers for Scientists & Engineers 2ACI-REF Virtual Residency Workshop - University of Oklahoma June 1, 2015

What are Community Codes? Numerical Libraries –Matrix Operations –Fast Fourier Transforms –Linear Algebra –ODE & PDE Scientific Software –Weather Forecasting –Molecular Dynamics –Ab Initio Chemistry –Bioinformatics & Genomics Visualization Software –Climate/Weather Tracking –Molecular Rendering –Star Formation 3ACI-REF Virtual Residency Workshop - University of Oklahoma June 1, 2015

Community Code: Languages Fortran C, C++, Obj-C Java Python Perl Outliers –Visual Basic –Cobol –Pascal 4ACI-REF Virtual Residency Workshop - University of Oklahoma June 1, 2015

Community Code Examples Numerical Libraries –Fastest Fourier Transform in the West (FFTW) –Goto Basic Linear Algebra Subprograms (GotoBLAS) –Linear Algebra PACKage (LAPACK) Scientific Software –The Weather and Research Forecasting model (WRF) –GROningen MAchine for Chemical Simulations (GROMACS) –NWChem: Open Source High-Performance Computational Chemistry –Basic Local Alignment Search Tool (BLAST) Visualization Software –Weather and Climate Toolkit (WCT) –Avogadro –Astronomical Image Processing System (AIPS) 5ACI-REF Virtual Residency Workshop - University of Oklahoma June 1, 2015

Identifying Your Use Case

From the user perspective: I am a computational chemist Need the following software GROMACS NWChem TOWHEE LAMMPS How do I install them? Do it yourself Ask the System Administrators What am I trying to accomplish? 7ACI-REF Virtual Residency Workshop - University of Oklahoma June 1, 2015

From the System Administrator perspective: I have a user who is a computational chemist They have requested the following software be made available on the system GROMACS NWChem TOWHEE LAMMPS How popular are these applications? Are there other users of these applications? How to maintain version control? How will the user interactive with the applications? What am I trying to accomplish? 8ACI-REF Virtual Residency Workshop - University of Oklahoma June 1, 2015

You are the System Administrator You are the user Do it yourself Scenario: Single-User System 9ACI-REF Virtual Residency Workshop - University of Oklahoma June 1, 2015

You are the user Download, compile & install the applications in your user space You are the System Administrator Download, compile & install the applications in the requesting user’s space Download, compile & install the applications in a system wide space Will this affect other users? Will this be manageable with future updates/releases? How will this user or future users of these applications interact with said applications? Scenario: Multi-user system 10ACI-REF Virtual Residency Workshop - University of Oklahoma June 1, 2015

Deploying The Software

Some Assumptions System is a UNIX-like operating system If you are the user: Have some experience with UNIX-like operating systems Limited access to system resources (no root privileges) If you are the System Administrator: Unlimited access to system resources (i.e. have root privileges) ACI-REF Virtual Residency Workshop - University of Oklahoma June 1,

First Steps: Finding the Application Ask the requester Is there a link for downloading Is it on physical media (e.g. CD/DVD/Bluray, USB or External Harddrive) Ask colleagues Ask ACI-REF Virtual Residency Workshop - University of Oklahoma June 1,

First Steps: Read Available Documentation Installation Instructions Online Included PDFs, text files or other Prerequisites End User Licensing Agreement (EULA) User Manual ACI-REF Virtual Residency Workshop - University of Oklahoma June 1,

First Steps: Determine the Path Forward If I am the user: Limited options which makes the decisions much easier Install in my /home directory If I am the System Administrator Lots of options but which one is best Who are the users? How will the applications be managed? ACI-REF Virtual Residency Workshop - University of Oklahoma June 1,

Example Application: GROMACS Where to get it: GROMACS Website Documentation says it has dependencies: cmake or greater gcc 4.7 or greater MPI FFTW (latest) or MKL Optional components GPU support Several others ACI-REF Virtual Residency Workshop - University of Oklahoma June 1,

Possible Workflow Install MPI + gcc + cmake Most systems already have gcc & cmake installed Install FFTW (or MKL) Install GROMACS MPI + gcc + cmake FFTWGROMACS ACI-REF Virtual Residency Workshop - University of Oklahoma June 1,

Live Demo ACI-REF Virtual Residency Workshop - University of Oklahoma June 1,

Thank you. Questions?