SlideShare una empresa de Scribd logo
1 de 35
Linux and Open Source in Math,
Science and Engineering

Dr. Doug Davis (3D)
pde1d.blogspot.com
Agenda

 A bit of history
 Where we are
 Visualization
 Math
 Engineering
 Science
Watt's steam engine at the lobby of the Higher
Technical School of Industrial Engineering of Madrid
Wikimedia Commons
A bit of History

 Computers originally for Computing
 Unix developed for telephone system
Human computers
in the NACA High
Speed Flight
Station "Computer
Room", Dryden
Flight Research
Center Facilities
WikiMedia Commons
1960s and 70s

 Mainframe era

 IBM, CDC, Cray, Burroughs Corporation, DEC,
NCR, General Electric, Honeywell, RCA, and
UNIVAC

 Fortran Programs
 Hollerith Cards

 Beginnings of interactive programing
Thomas J. Watson, Sr. was fired several times by John
Henry Patterson the owner of NCR in Dayton, Ohio. So
he went to work for Computing-Tabulating-Recording
Company (CTR) which became IBM under his
leadership
1980 and 90s
 Early PC and MAC
 2D AutoCAD
 Graphic Engineering Workstations
 3D graphics
 High price
 High performance
 Unix variants
2000s
This is a picture of the TinyHPC Beowulf cluster

 Beowulf cluster

 MPI – Message
Passing Interface
 PVM – Parallel
Virtual Machine
 COW – Cluster of
Workstations
 LOBOS – Lots Of
Boxes On Shelves

The name Beowulf originally
referred to a specific computer
built in 1994 by Thomas
Sterling and Donald Becker at
NASA.

Photo by Mukarram Ahmad

http://en.wikipedia.org/wiki/File:Tinyhpc.jpg
Instructions for building a Low cost Beowulf
(cir. 2000) http://www.clustercompute.com/
Today

 Top500.org

 91% of 500

Fastest
Computers in
the World use
Linux
 1.2% Use MS
Windows

 The Network is
the Computer

Sun's John Gage – CNET June 9,
2008
S&E Software Tools

 3 Classes of Tools
 Quick and Dirty

 Spreadsheets
 Mainly S&E eduction use
 Matlab, Octave, Scilab
 Python

 Programming Tools
 Fortran and C/C++
 Libraries
 Tools

 Science & Engineering Tools

 CAE – Computer Aided Engineering
Spreadsheet
One Dimensional Partial Differential Equation

 Calc

∂U
∂U
+ U
= 0
∂t
∂x

U (0) = [ 1 + sin( π x ) ] / 2
Burgers Equation

 OpenOffice
 LibreOffice

1st Order Euler
1.2

 Gnumeric

1
0
2
4
6
8
10
12

Amplitude

0.8
0.6
0.4
0.2
0
0

0.2

0.4

0.6

0.8

1
X

1.2

1.4

1.6

1.8

2
One Killer Feature of Linux
for S&E in My Opinion Anyway

 GPM - gpm provides mouse cut-and-paste
services

 Highlight, then mouse middle click, to paste
selected text
 Fast and simple way to transfer numbers
between programs
 Command line file names,

 ls → <command> → double click→ middle click

 With OO Calc can transfer whole text tables
 eMail and web addresses
 Works with vi, kwrite, gedit, OO writer, etc.
Plotting
“The purpose of computing is insight, not numbers.”
R.W.Hamming, Numerical Methods for Scientiust and Engineers, Dover Publications

 Gnuplot

 Fit function
 Plot data or functions
 Fast script running

 Paraview

 3D
 Filter Tree View

 Many Commercial Options
 Tecplot, Fieldview,
EnSight
gnuplot

 plot and splot main commands
 > help plot
 > help set

 set terminal and set output for plot file output
 text data in columns
 default white-space separators
 > set datafile separator ','
 quotes for file name in plot command
 no titles in file
 two blank lines separate index number

 user functions
 > sinc(x) = sin(pi*x)/(pi*x)
 multiple error bars
gnuplot
plot
Other Plotting Software

 Mainly 2D or Math functions
 Matlab - $$$
 matplotlib – free
 graph and plot - free

 3-D Contours

 Tecplot - $$$
 Ensight - $$$
 Fieldview - $$$
 Paraview – free
 Visit - free

 Many many more

http://vtk.org/Wiki/File:ParaViewWeb-shuttle.png
http://paraviewweb.kitware.com/PWShuttle/
Scientific Python

 PyLab

 numpy, numeric python
 Scipy, Scientific Python –
 Matplotlib, Python
Plotting
 Traits, Interactive

http://www.scipy.org/
Sage

 SAGE Math

 www.sagemath.org
 Author Video on Why Open Source
"I am a
cool
multiedge
graph with
loops"

http://www.sagemath.org/tour-graphics.html
Sagemath.org

 Python

>>> notebook()

@interact

environment
 PARI/GP
 Maxima
 scipy, matplolib
R
 singular

 Everything Open
Source Math

Better than MATLAB – Arbitrary Precision, Faster, Object Oriented
Programming, Symbolic Algebra, OPEN SOURCE
Maxima

 Symbolic Math
 Maxima is a

descendent of
Macsyma
 Mathmatica and
Maple are
cousins
 Written in lisp

 wxMaxima –

wxwidgets gui
version
Octave

 GNU Octave is a high-level interpreted

language, primarily intended for numerical
computations.
 Most compatible with Matlab
 Can run many .m files

 Octave Forge

 Examples and tools
 http://octave.sourceforge.net/

http://www.gnu.org/software/octave/index.html
Programing

 A Much Bigger Learning Curve
 May be needed for better understanding
 Efficiency – Faster computations
 Many Libraries
 Fortran or C/C++
Programing and Platform Tools

 Kdevelop IDE

 C, C++, Python, PHP, Ruby

 Eclipse

 CDT
 PTP
 Photran
Math Libraries
 Linear Algebra
 Fast Fourier Transform

 GSL – Gnu Scientific Library

 C functions, with many wrappers
 info gsl

Complex Numbers
Special Functions
Permutations
BLAS Support
Eigensystems
Quadrature
Quasi-Random Sequences
Discrete Wavelet Transforms
Simulated Annealing
Chebyshev Approximation
Discrete Hankel Transforms

Roots of Polynomials
Vectors and Matrices
Sorting
Linear Algebra
Fast Fourier Transforms
Random Numbers
Random Distributions
Histograms
Monte Carlo Integration
Differential Equations
Numerical Differentiation

Basis splines
IEEE Floating-Point
Physical Constants
Minimization
Least-Squares Fitting
Root-Finding
Interpolation
N-Tuples
Series Acceleration
Statistics
Other Math Libraries

 AMD Core Math Library (ACML)

 Fortran
 Supports 6 compilers on Linux and 2 on
Windows

 AMD Accelerated Parallel Processing Math
Libraries (APPML)

 AMD

OpenCL GPUs

 Intel® Math Kernel Library (Intel® MKL)
 Fortran and C
High Performance Libraries

 PETSC – PDE library
 Dakota - Optimization
 Trilinos - object-oriented software framework
 Paraview – 3-D Visualization Tool
 VTK – 3-D Visualization Library
 HDF5 – Hierarchical Data Facility
 NetCDF – Network Common Data Form
Other Languages

R

 Statistics Language Package
 This means data analysis
 Good plotting facilities
 Powerful Non-Linear Regression

 Java

 JScience – http://jscience.org/
 Java Scientific Library

-http://www.ee.ucl.ac.uk/~mflanaga/java/
Engineering Tools

 Linux weakness is lack of popular CAD

 Most geometry engines work under Linux
 ACIS, Granite, OpenCascade

 Some Linux Cad Packages

 QCAD – 2D – Free , GPL
 VariCAD - ~$700 – free trial - varicad.com
 BricsCAD - $$ - http://www.bricsys.com
 Graphite One CAD - ~$2000 for 3-D
 freeCAD – sourceforge.net/projects/free-cad/
 Some Light 3D for Grid Generators
 CUBIT, Salomè
CAELinux

http://www.caelinux.com

Linux Distribution Focused on Computer Aided Engineering
CAELinux is an installable LiveDVD Linux distribution based on Ubuntu 10.04 LTS 64 bit
Pre-post processors & CAD: Salome_Meca 2010, Salome 5.1.3, GMSH 2.4, Netgen ,
Tetgen, enGrid, Discretizer / Discretizer::Setup, Paraview, OpenDX, CGX, QCad,
FreeCAD, SagCAD, ElmerGUI / ElmeFront / ElmerGrid
Finite Element solvers: Salome_Meca 2010, Code_Aster STA10.1, Elmer v5.5 , Calculix
2.1, Impact 0.76, Dynela, Fenics
Computationnal Fluid Dynamics: OpenFOAM v1.7, Gerris flow solver and GFSView,
Code-Saturne 2.0 with CFD analysis wizard and tutorial , Elmer Solver, air foil and airplane
analysis tools (Xfoil, Javafoil, AVL, Datcom+)
Multibody dynamics : MBDyn with its Blender interface and EasyAnim
3D bio-medical image processing: ITK-Snap, Image J, Voxel_Mesher
Mathematics: GNU Octave +QtOctave, Scilab, wxMaxima, R & Rkward, Gnuplot, Latex,
Labplot, g3data, Scipy.
Is provided with interactive flash tutorials, videos as well as examples to start learning how
to use the included open-source softwares for realistic simulation
Text Book
Using CAE
Linux

CAE Linux also
includes good tutorials Wink
Salome -MECA
http://www.salome-platform.org/

 Integrated Analysis Framework
 Geometry → Grid → Solver → Visualization
 User Modules

 Geometry: create, edit, import/export CAD models
(OpenCascade)
 Mesh : mesh a CAD model using a standard meshing algorithm
or any external mesher
 Med : MED data files management
 Post-processor : dedicated viewer (Paraview/ VTK)
 YACS : supervision module

 Python Scripting
Salome- Mesh Example
YACCS

 Supervisor Module
 Integrates Solvers
 Optimization??
OpenFOAM
http://www.openfoam.com/

 Arbitrary Polyhedral Cell Field Solver
 Separate Solvers for Different Problems
 Really a framework

 OpenCFD Ltd. acquired by SGI
An extensive set of OpenFOAM solvers has evolved
(and is forever growing) that are available to users.
OpenFOAM is used mainly for CFD but has found use
in other areas such as stress analysis,
electromagnetics and finance because it is
fundamentally a tool for solving partial differential
equations rather than a CFD package in the traditional
sense.
Catalogs of Programs

 SAL – Scientific Applications for Linux

 http://www.sai.msu.su/sal/sal2.shtml
 Search-able reference to many programs
 Very Old – Last update May 2001

 Netlib - Netlib is a collection of mathematical
software, papers, and databases

 http://www.netlib.org/
 160+ packages and catagories
Other

 Latest Linux Kernel adding
more Real Time functions

 Process Control
Requirement

 Mathscript for Android
(SymPy)
 TeX Live -

 Kile, Texmaker and Lyx

 KDE Cantor
 GNU TexMacs

https://market.android.com/details?
id=com.funmath.mathscript
Thank You

 pde1d.blogspot.com

Más contenido relacionado

La actualidad más candente

On the Capability and Achievable Performance of FPGAs for HPC Applications
On the Capability and Achievable Performance of FPGAs for HPC ApplicationsOn the Capability and Achievable Performance of FPGAs for HPC Applications
On the Capability and Achievable Performance of FPGAs for HPC ApplicationsWim Vanderbauwhede
 
EuroMPI 2016 Keynote: How Can MPI Fit Into Today's Big Computing
EuroMPI 2016 Keynote: How Can MPI Fit Into Today's Big ComputingEuroMPI 2016 Keynote: How Can MPI Fit Into Today's Big Computing
EuroMPI 2016 Keynote: How Can MPI Fit Into Today's Big ComputingJonathan Dursi
 
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce AlgorithmsAmund Tveit
 
AI is Impacting HPC Everywhere
AI is Impacting HPC EverywhereAI is Impacting HPC Everywhere
AI is Impacting HPC Everywhereinside-BigData.com
 
Intro to Machine Learning for GPUs
Intro to Machine Learning for GPUsIntro to Machine Learning for GPUs
Intro to Machine Learning for GPUsSri Ambati
 
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...Intel® Software
 
Behm Shah Pagerank
Behm Shah PagerankBehm Shah Pagerank
Behm Shah Pagerankgothicane
 
Data analysis in R
Data analysis in RData analysis in R
Data analysis in RAndrew Lowe
 
IS-ENES COMP Superscalar tutorial
IS-ENES COMP Superscalar tutorialIS-ENES COMP Superscalar tutorial
IS-ENES COMP Superscalar tutorialRoger Rafanell Mas
 
High Performance Python - Marc Garcia
High Performance Python - Marc GarciaHigh Performance Python - Marc Garcia
High Performance Python - Marc GarciaMarc Garcia
 
A CGRA-based Approach for Accelerating Convolutional Neural Networks
A CGRA-based Approachfor Accelerating Convolutional Neural NetworksA CGRA-based Approachfor Accelerating Convolutional Neural Networks
A CGRA-based Approach for Accelerating Convolutional Neural NetworksShinya Takamaeda-Y
 
PG-4034, Using OpenGL and DirectX for Heterogeneous Compute, by Karl Hillesland
PG-4034, Using OpenGL and DirectX for Heterogeneous Compute, by Karl HilleslandPG-4034, Using OpenGL and DirectX for Heterogeneous Compute, by Karl Hillesland
PG-4034, Using OpenGL and DirectX for Heterogeneous Compute, by Karl HilleslandAMD Developer Central
 
Open cl programming using python syntax
Open cl programming using python syntaxOpen cl programming using python syntax
Open cl programming using python syntaxcsandit
 
Large Model support and Distribute deep learning
Large Model support and Distribute deep learningLarge Model support and Distribute deep learning
Large Model support and Distribute deep learningGanesan Narayanasamy
 
Co-occurrence Based Recommendations with Mahout, Scala and Spark
Co-occurrence Based Recommendations with Mahout, Scala and SparkCo-occurrence Based Recommendations with Mahout, Scala and Spark
Co-occurrence Based Recommendations with Mahout, Scala and Sparksscdotopen
 

La actualidad más candente (20)

On the Capability and Achievable Performance of FPGAs for HPC Applications
On the Capability and Achievable Performance of FPGAs for HPC ApplicationsOn the Capability and Achievable Performance of FPGAs for HPC Applications
On the Capability and Achievable Performance of FPGAs for HPC Applications
 
EuroMPI 2016 Keynote: How Can MPI Fit Into Today's Big Computing
EuroMPI 2016 Keynote: How Can MPI Fit Into Today's Big ComputingEuroMPI 2016 Keynote: How Can MPI Fit Into Today's Big Computing
EuroMPI 2016 Keynote: How Can MPI Fit Into Today's Big Computing
 
Cluster Schedulers
Cluster SchedulersCluster Schedulers
Cluster Schedulers
 
Arvindsujeeth scaladays12
Arvindsujeeth scaladays12Arvindsujeeth scaladays12
Arvindsujeeth scaladays12
 
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce Algorithms
 
AI is Impacting HPC Everywhere
AI is Impacting HPC EverywhereAI is Impacting HPC Everywhere
AI is Impacting HPC Everywhere
 
Intro to Machine Learning for GPUs
Intro to Machine Learning for GPUsIntro to Machine Learning for GPUs
Intro to Machine Learning for GPUs
 
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
Use C++ and Intel® Threading Building Blocks (Intel® TBB) for Hardware Progra...
 
Behm Shah Pagerank
Behm Shah PagerankBehm Shah Pagerank
Behm Shah Pagerank
 
Data analysis in R
Data analysis in RData analysis in R
Data analysis in R
 
Numba
NumbaNumba
Numba
 
IS-ENES COMP Superscalar tutorial
IS-ENES COMP Superscalar tutorialIS-ENES COMP Superscalar tutorial
IS-ENES COMP Superscalar tutorial
 
High Performance Python - Marc Garcia
High Performance Python - Marc GarciaHigh Performance Python - Marc Garcia
High Performance Python - Marc Garcia
 
A CGRA-based Approach for Accelerating Convolutional Neural Networks
A CGRA-based Approachfor Accelerating Convolutional Neural NetworksA CGRA-based Approachfor Accelerating Convolutional Neural Networks
A CGRA-based Approach for Accelerating Convolutional Neural Networks
 
PG-4034, Using OpenGL and DirectX for Heterogeneous Compute, by Karl Hillesland
PG-4034, Using OpenGL and DirectX for Heterogeneous Compute, by Karl HilleslandPG-4034, Using OpenGL and DirectX for Heterogeneous Compute, by Karl Hillesland
PG-4034, Using OpenGL and DirectX for Heterogeneous Compute, by Karl Hillesland
 
Open cl programming using python syntax
Open cl programming using python syntaxOpen cl programming using python syntax
Open cl programming using python syntax
 
Large Model support and Distribute deep learning
Large Model support and Distribute deep learningLarge Model support and Distribute deep learning
Large Model support and Distribute deep learning
 
Co-occurrence Based Recommendations with Mahout, Scala and Spark
Co-occurrence Based Recommendations with Mahout, Scala and SparkCo-occurrence Based Recommendations with Mahout, Scala and Spark
Co-occurrence Based Recommendations with Mahout, Scala and Spark
 
Parallel computation
Parallel computationParallel computation
Parallel computation
 
Manycores for the Masses
Manycores for the MassesManycores for the Masses
Manycores for the Masses
 

Similar a Linux and Open Source in Math, Science and Engineering

pythonOCC PDE2009 presentation
pythonOCC PDE2009 presentationpythonOCC PDE2009 presentation
pythonOCC PDE2009 presentationThomas Paviot
 
Accelerating open science and AI with automated, portable, customizable and r...
Accelerating open science and AI with automated, portable, customizable and r...Accelerating open science and AI with automated, portable, customizable and r...
Accelerating open science and AI with automated, portable, customizable and r...Grigori Fursin
 
The world is the computer and the programmer is you
The world is the computer and the programmer is youThe world is the computer and the programmer is you
The world is the computer and the programmer is youDavide Carboni
 
Cluster Tutorial
Cluster TutorialCluster Tutorial
Cluster Tutorialcybercbm
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Trayan Iliev
 
Eclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectEclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectMatthew Gerring
 
The Future of Computing is Distributed
The Future of Computing is DistributedThe Future of Computing is Distributed
The Future of Computing is DistributedAlluxio, Inc.
 
Node-RED and Minecraft - CamJam September 2015
Node-RED and Minecraft - CamJam September 2015Node-RED and Minecraft - CamJam September 2015
Node-RED and Minecraft - CamJam September 2015Boris Adryan
 
Role of python in hpc
Role of python in hpcRole of python in hpc
Role of python in hpcDr Reeja S R
 
Elastic r sc10-tutorial
Elastic r sc10-tutorialElastic r sc10-tutorial
Elastic r sc10-tutorialArden Chan
 
Software used in Electronics and Communication
Software used in Electronics and CommunicationSoftware used in Electronics and Communication
Software used in Electronics and Communicationashishsoni1505
 
Portfolio of Projects
Portfolio of ProjectsPortfolio of Projects
Portfolio of ProjectsDaniele Pinto
 
Natural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali ZaidiNatural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali ZaidiDatabricks
 
Scientific Computing @ Fred Hutch
Scientific Computing @ Fred HutchScientific Computing @ Fred Hutch
Scientific Computing @ Fred HutchDirk Petersen
 
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...Rafael Ferreira da Silva
 
jeevanreddy-nwplm
jeevanreddy-nwplmjeevanreddy-nwplm
jeevanreddy-nwplmjeevan b
 
A performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
A performance analysis of OpenStack Cloud vs Real System on Hadoop ClustersA performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
A performance analysis of OpenStack Cloud vs Real System on Hadoop ClustersKumari Surabhi
 

Similar a Linux and Open Source in Math, Science and Engineering (20)

pythonOCC PDE2009 presentation
pythonOCC PDE2009 presentationpythonOCC PDE2009 presentation
pythonOCC PDE2009 presentation
 
Accelerating open science and AI with automated, portable, customizable and r...
Accelerating open science and AI with automated, portable, customizable and r...Accelerating open science and AI with automated, portable, customizable and r...
Accelerating open science and AI with automated, portable, customizable and r...
 
The world is the computer and the programmer is you
The world is the computer and the programmer is youThe world is the computer and the programmer is you
The world is the computer and the programmer is you
 
PyData Boston 2013
PyData Boston 2013PyData Boston 2013
PyData Boston 2013
 
Cluster Tutorial
Cluster TutorialCluster Tutorial
Cluster Tutorial
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux
 
Eclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science ProjectEclipse Con Europe 2014 How to use DAWN Science Project
Eclipse Con Europe 2014 How to use DAWN Science Project
 
The Future of Computing is Distributed
The Future of Computing is DistributedThe Future of Computing is Distributed
The Future of Computing is Distributed
 
Matlab lecture
Matlab lectureMatlab lecture
Matlab lecture
 
Node-RED and Minecraft - CamJam September 2015
Node-RED and Minecraft - CamJam September 2015Node-RED and Minecraft - CamJam September 2015
Node-RED and Minecraft - CamJam September 2015
 
Role of python in hpc
Role of python in hpcRole of python in hpc
Role of python in hpc
 
Elastic r sc10-tutorial
Elastic r sc10-tutorialElastic r sc10-tutorial
Elastic r sc10-tutorial
 
Software used in Electronics and Communication
Software used in Electronics and CommunicationSoftware used in Electronics and Communication
Software used in Electronics and Communication
 
Portfolio of Projects
Portfolio of ProjectsPortfolio of Projects
Portfolio of Projects
 
Natural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali ZaidiNatural Language Processing with CNTK and Apache Spark with Ali Zaidi
Natural Language Processing with CNTK and Apache Spark with Ali Zaidi
 
Scientific Computing @ Fred Hutch
Scientific Computing @ Fred HutchScientific Computing @ Fred Hutch
Scientific Computing @ Fred Hutch
 
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
Running Accurate, Scalable, and Reproducible Simulations of Distributed Syste...
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
jeevanreddy-nwplm
jeevanreddy-nwplmjeevanreddy-nwplm
jeevanreddy-nwplm
 
A performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
A performance analysis of OpenStack Cloud vs Real System on Hadoop ClustersA performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
A performance analysis of OpenStack Cloud vs Real System on Hadoop Clusters
 

Último

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Linux and Open Source in Math, Science and Engineering

  • 1. Linux and Open Source in Math, Science and Engineering Dr. Doug Davis (3D) pde1d.blogspot.com
  • 2. Agenda  A bit of history  Where we are  Visualization  Math  Engineering  Science Watt's steam engine at the lobby of the Higher Technical School of Industrial Engineering of Madrid Wikimedia Commons
  • 3. A bit of History  Computers originally for Computing  Unix developed for telephone system Human computers in the NACA High Speed Flight Station "Computer Room", Dryden Flight Research Center Facilities WikiMedia Commons
  • 4. 1960s and 70s  Mainframe era  IBM, CDC, Cray, Burroughs Corporation, DEC, NCR, General Electric, Honeywell, RCA, and UNIVAC  Fortran Programs  Hollerith Cards  Beginnings of interactive programing Thomas J. Watson, Sr. was fired several times by John Henry Patterson the owner of NCR in Dayton, Ohio. So he went to work for Computing-Tabulating-Recording Company (CTR) which became IBM under his leadership
  • 5. 1980 and 90s  Early PC and MAC  2D AutoCAD  Graphic Engineering Workstations  3D graphics  High price  High performance  Unix variants
  • 6. 2000s This is a picture of the TinyHPC Beowulf cluster  Beowulf cluster  MPI – Message Passing Interface  PVM – Parallel Virtual Machine  COW – Cluster of Workstations  LOBOS – Lots Of Boxes On Shelves The name Beowulf originally referred to a specific computer built in 1994 by Thomas Sterling and Donald Becker at NASA. Photo by Mukarram Ahmad http://en.wikipedia.org/wiki/File:Tinyhpc.jpg Instructions for building a Low cost Beowulf (cir. 2000) http://www.clustercompute.com/
  • 7. Today  Top500.org  91% of 500 Fastest Computers in the World use Linux  1.2% Use MS Windows  The Network is the Computer Sun's John Gage – CNET June 9, 2008
  • 8. S&E Software Tools  3 Classes of Tools  Quick and Dirty  Spreadsheets  Mainly S&E eduction use  Matlab, Octave, Scilab  Python  Programming Tools  Fortran and C/C++  Libraries  Tools  Science & Engineering Tools  CAE – Computer Aided Engineering
  • 9. Spreadsheet One Dimensional Partial Differential Equation  Calc ∂U ∂U + U = 0 ∂t ∂x U (0) = [ 1 + sin( π x ) ] / 2 Burgers Equation  OpenOffice  LibreOffice 1st Order Euler 1.2  Gnumeric 1 0 2 4 6 8 10 12 Amplitude 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 X 1.2 1.4 1.6 1.8 2
  • 10. One Killer Feature of Linux for S&E in My Opinion Anyway  GPM - gpm provides mouse cut-and-paste services  Highlight, then mouse middle click, to paste selected text  Fast and simple way to transfer numbers between programs  Command line file names,  ls → <command> → double click→ middle click  With OO Calc can transfer whole text tables  eMail and web addresses  Works with vi, kwrite, gedit, OO writer, etc.
  • 11. Plotting “The purpose of computing is insight, not numbers.” R.W.Hamming, Numerical Methods for Scientiust and Engineers, Dover Publications  Gnuplot  Fit function  Plot data or functions  Fast script running  Paraview  3D  Filter Tree View  Many Commercial Options  Tecplot, Fieldview, EnSight
  • 12. gnuplot  plot and splot main commands  > help plot  > help set  set terminal and set output for plot file output  text data in columns  default white-space separators  > set datafile separator ','  quotes for file name in plot command  no titles in file  two blank lines separate index number  user functions  > sinc(x) = sin(pi*x)/(pi*x)  multiple error bars
  • 14. Other Plotting Software  Mainly 2D or Math functions  Matlab - $$$  matplotlib – free  graph and plot - free  3-D Contours  Tecplot - $$$  Ensight - $$$  Fieldview - $$$  Paraview – free  Visit - free  Many many more http://vtk.org/Wiki/File:ParaViewWeb-shuttle.png http://paraviewweb.kitware.com/PWShuttle/
  • 15. Scientific Python  PyLab  numpy, numeric python  Scipy, Scientific Python –  Matplotlib, Python Plotting  Traits, Interactive http://www.scipy.org/
  • 16. Sage  SAGE Math  www.sagemath.org  Author Video on Why Open Source "I am a cool multiedge graph with loops" http://www.sagemath.org/tour-graphics.html
  • 17. Sagemath.org  Python >>> notebook() @interact environment  PARI/GP  Maxima  scipy, matplolib R  singular  Everything Open Source Math Better than MATLAB – Arbitrary Precision, Faster, Object Oriented Programming, Symbolic Algebra, OPEN SOURCE
  • 18. Maxima  Symbolic Math  Maxima is a descendent of Macsyma  Mathmatica and Maple are cousins  Written in lisp  wxMaxima – wxwidgets gui version
  • 19. Octave  GNU Octave is a high-level interpreted language, primarily intended for numerical computations.  Most compatible with Matlab  Can run many .m files  Octave Forge  Examples and tools  http://octave.sourceforge.net/ http://www.gnu.org/software/octave/index.html
  • 20. Programing  A Much Bigger Learning Curve  May be needed for better understanding  Efficiency – Faster computations  Many Libraries  Fortran or C/C++
  • 21. Programing and Platform Tools  Kdevelop IDE  C, C++, Python, PHP, Ruby  Eclipse  CDT  PTP  Photran
  • 22. Math Libraries  Linear Algebra  Fast Fourier Transform  GSL – Gnu Scientific Library  C functions, with many wrappers  info gsl Complex Numbers Special Functions Permutations BLAS Support Eigensystems Quadrature Quasi-Random Sequences Discrete Wavelet Transforms Simulated Annealing Chebyshev Approximation Discrete Hankel Transforms Roots of Polynomials Vectors and Matrices Sorting Linear Algebra Fast Fourier Transforms Random Numbers Random Distributions Histograms Monte Carlo Integration Differential Equations Numerical Differentiation Basis splines IEEE Floating-Point Physical Constants Minimization Least-Squares Fitting Root-Finding Interpolation N-Tuples Series Acceleration Statistics
  • 23. Other Math Libraries  AMD Core Math Library (ACML)  Fortran  Supports 6 compilers on Linux and 2 on Windows  AMD Accelerated Parallel Processing Math Libraries (APPML)  AMD OpenCL GPUs  Intel® Math Kernel Library (Intel® MKL)  Fortran and C
  • 24. High Performance Libraries  PETSC – PDE library  Dakota - Optimization  Trilinos - object-oriented software framework  Paraview – 3-D Visualization Tool  VTK – 3-D Visualization Library  HDF5 – Hierarchical Data Facility  NetCDF – Network Common Data Form
  • 25. Other Languages R  Statistics Language Package  This means data analysis  Good plotting facilities  Powerful Non-Linear Regression  Java  JScience – http://jscience.org/  Java Scientific Library -http://www.ee.ucl.ac.uk/~mflanaga/java/
  • 26. Engineering Tools  Linux weakness is lack of popular CAD  Most geometry engines work under Linux  ACIS, Granite, OpenCascade  Some Linux Cad Packages  QCAD – 2D – Free , GPL  VariCAD - ~$700 – free trial - varicad.com  BricsCAD - $$ - http://www.bricsys.com  Graphite One CAD - ~$2000 for 3-D  freeCAD – sourceforge.net/projects/free-cad/  Some Light 3D for Grid Generators  CUBIT, Salomè
  • 27. CAELinux http://www.caelinux.com Linux Distribution Focused on Computer Aided Engineering CAELinux is an installable LiveDVD Linux distribution based on Ubuntu 10.04 LTS 64 bit Pre-post processors & CAD: Salome_Meca 2010, Salome 5.1.3, GMSH 2.4, Netgen , Tetgen, enGrid, Discretizer / Discretizer::Setup, Paraview, OpenDX, CGX, QCad, FreeCAD, SagCAD, ElmerGUI / ElmeFront / ElmerGrid Finite Element solvers: Salome_Meca 2010, Code_Aster STA10.1, Elmer v5.5 , Calculix 2.1, Impact 0.76, Dynela, Fenics Computationnal Fluid Dynamics: OpenFOAM v1.7, Gerris flow solver and GFSView, Code-Saturne 2.0 with CFD analysis wizard and tutorial , Elmer Solver, air foil and airplane analysis tools (Xfoil, Javafoil, AVL, Datcom+) Multibody dynamics : MBDyn with its Blender interface and EasyAnim 3D bio-medical image processing: ITK-Snap, Image J, Voxel_Mesher Mathematics: GNU Octave +QtOctave, Scilab, wxMaxima, R & Rkward, Gnuplot, Latex, Labplot, g3data, Scipy. Is provided with interactive flash tutorials, videos as well as examples to start learning how to use the included open-source softwares for realistic simulation
  • 28. Text Book Using CAE Linux CAE Linux also includes good tutorials Wink
  • 29. Salome -MECA http://www.salome-platform.org/  Integrated Analysis Framework  Geometry → Grid → Solver → Visualization  User Modules  Geometry: create, edit, import/export CAD models (OpenCascade)  Mesh : mesh a CAD model using a standard meshing algorithm or any external mesher  Med : MED data files management  Post-processor : dedicated viewer (Paraview/ VTK)  YACS : supervision module  Python Scripting
  • 31. YACCS  Supervisor Module  Integrates Solvers  Optimization??
  • 32. OpenFOAM http://www.openfoam.com/  Arbitrary Polyhedral Cell Field Solver  Separate Solvers for Different Problems  Really a framework  OpenCFD Ltd. acquired by SGI An extensive set of OpenFOAM solvers has evolved (and is forever growing) that are available to users. OpenFOAM is used mainly for CFD but has found use in other areas such as stress analysis, electromagnetics and finance because it is fundamentally a tool for solving partial differential equations rather than a CFD package in the traditional sense.
  • 33. Catalogs of Programs  SAL – Scientific Applications for Linux  http://www.sai.msu.su/sal/sal2.shtml  Search-able reference to many programs  Very Old – Last update May 2001  Netlib - Netlib is a collection of mathematical software, papers, and databases  http://www.netlib.org/  160+ packages and catagories
  • 34. Other  Latest Linux Kernel adding more Real Time functions  Process Control Requirement  Mathscript for Android (SymPy)  TeX Live -  Kile, Texmaker and Lyx  KDE Cantor  GNU TexMacs https://market.android.com/details? id=com.funmath.mathscript