SlideShare une entreprise Scribd logo
1  sur  105
Java for High Performance Computing ,[object Object],[object Object],[object Object],[object Object],[object Object]
MPI: The Message Passing Interface ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Features of MPI ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MPI for Java: Early History ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More Recent Developments ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MPJ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CCJ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MPJava ,[object Object],[object Object],[object Object],[object Object],[object Object]
JOPI ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction to  mpiJava
mpiJava ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Defining the mpiJava API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Class hierarchy MPI Group Comm Datatype Status Request package  mpi Intracomm Intercomm Prequest Cartcomm Graphcomm
Minimal  mpiJava  Program ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Installing mpiJava ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Running mpiJava Programs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programming Model ,[object Object],[object Object],[object Object],[object Object],[object Object]
Setting up the Environment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The  Comm  class ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Rank and Size ,[object Object],[object Object],[object Object],[object Object],[object Object]
The World Communicator ,[object Object],[object Object],[object Object],[object Object],[object Object]
Simple send and receive ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Communication Buffers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Layout of Buffer ,[object Object],offset + count - 1 0 1 offset  offset +1 … … … ,[object Object],[object Object],[object Object]
Basic Datatypes ,[object Object],[object Object],Object MPI.OBJECT double MPI.DOUBLE float MPI.FLOAT long MPI.LONG int MPI.INT boolean MPI.BOOLEAN short MPI.SHORT char MPI.CHAR byte MPI.BYTE Java type mpiJava datatype
Buffer Element Type ,[object Object],[object Object],[object Object],[object Object]
ANY_SOURCE  and  ANY_TAG ,[object Object],[object Object],[object Object],[object Object],[object Object]
Status values ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MPIException ,[object Object],[object Object],[object Object],[object Object]
Communication Modes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Non-blocking Communication Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple completions  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Void requests ,[object Object],[object Object]
Overlapping Communications ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sendrecv ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Multiple Completions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Groups ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Intra-communicators ,[object Object],Comm Intracomm Intercomm Cartcomm Graphcomm ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The  Free()  method ,[object Object],[object Object],[object Object],[object Object]
Collective Communications ,[object Object],[object Object],[object Object],[object Object],[object Object]
Example Collective Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Topologies ,[object Object],[object Object],[object Object],[object Object]
Cartcom  Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Remarks ,[object Object],[object Object],[object Object],[object Object]
Derived Datatypes ,[object Object],[object Object],[object Object],[object Object]
Derived Datatype Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Remarks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The  mpiJava  Implementation. Lessons Learned.
mpiJava  Implementation Issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1. Signal Handlers, etc ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Signal Chaining ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thread Safety Issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2. JNI and Copying of Buffers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Copying of JNI Array Arguments ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why Does JNI Copy Arrays? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Buffer Copying and MPI Semantics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Aside: Completion of Non-Blocking Comms ,[object Object],[object Object],[object Object],[object Object]
mpiJava  Strategy for Buffers ,[object Object],[object Object],[object Object],[object Object]
Using  Get/ReleasePrimitiveArrayCritical ,[object Object],[object Object],[object Object],[object Object],[object Object]
3. Supporting  MPI.OBJECT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Extending the Communication Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Extended Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Changes to Support Objects ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Supported Platforms ,[object Object],IBM MPI (SP2/3) IBM JDK 1.3.0 AIX 3.4 LAM 6.5.8 (*) Sun SDK 1.4.1 SunOS 5.8 MPICH 1.2.5 (*) Sun SDK 1.4.1 SunOS 5.8 SunHPC-MPI 4 Sun SDK 1.4.1 SunOS 5.8 LAM 6.5.8 (*) IBM JDK 1.4.0 Redhat Linux 7.3 MPICH 1.2.5 (*) IBM JDK 1.4.0 Redhat Linux 7.3 LAM 6.5.8 Sun SDK 1.4.1 Redhat Linux 7.3 MPICH 1.2.5 Sun SDK 1.4.1 Redhat Linux 7.3 Native MPI Java Operating System
Lessons for the Future ,[object Object],[object Object],[object Object],[object Object]
mpiJava  performance 1. Shared memory mode
mpiJava  performance 2. Distributed memory
mpiJava  demos 1. CFD: inviscid flow
mpiJava  demos 2. Q-state Potts model
Special Topic: HPJava
mpiJava and HPJava ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object]
HPF Background ,[object Object],[object Object],[object Object],[object Object]
Motivations 1:HPspmd ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HPspmd Features ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivations 2: Multidimensional Arrays ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Array of Arrays in Java 0 1 2 3 X Array of array for 2D 0 1 2 3 0 1 2 3 X Y Array of array in irregular structure
Multiarray Z True 2-dimensional Array
Multiarray Syntax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel HPJava Syntax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Remarks ,[object Object],[object Object],[object Object],[object Object],[object Object]
Processes and Process Grids ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],0 1 2 0 1 p
Distributed Arrays in HPJava ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2-dimensional Array Block-Distributed Over  p p.dim(1) p.dim(0) 0 1 a[0,0]  a[0,1]  a[0,2] a[1,0]  a[1,1]  a[1,2] a[2,0]  a[2,1]  a[2,2] a[3,0]  a[3,1]  a[3,2] a[0,3]  a[0,4]  a[0,5] a[1,3]  a[1,4]  a[1,5] a[2,3]  a[2,4]  a[2,5] a[3,3]  a[3,4]  a[3,5] a[4,0]  a[4,1]  a[4,2] a[5,0]  a[5,1]  a[5,2] a[6,0]  a[6,1]  a[6,2] a[7,0]  a[7,1]  a[7,2] a[4,3]  a[4,4]  a[4,5] a[5,3]  a[5,4]  a[5,5] a[6,3]  a[6,4]  a[6,5] a[7,3]  a[7,4]  a[7,5] 0 1 a[0,6]  a[0,7] a[1,6]  a[1,7] a[2,6]  a[2,7] a[3,6]  a[3,7] a[4,6]  a[4,7] a[5,6]  a[5,7] a[6,6]  a[6,7] a[7,6]  a[7,7] 2 int N = 8 ; Procs2 p = new Procs(2, 3) ; on(p) { Range x = new BlockRange(N, p.dim(0))  ; Range y = new BlockRange(N, p.dim(1))  ; int [[-,-]] a = new int [[x, y]]  ; }
Distribution Formats ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Range BlockRange CyclicRange ExtBlockRange IrregRange CollapsedRange Dimension
The  overall  construct ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example Revisited ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Visualization of Ghost Regions a[0,0] a[0,1]  a[0,2]   a[1,0]  a[1,1]   a[1,2] a[2,0]  a[2,1]   a[2,2] a[0,1]   a[0,2] a[0,3]  a[1,1]   a[1,2]  a[1,3] a[2,1]   a[2,2]  a[2,3] a[3,0]  a[3,1]   a[3,2]   a[4,0]  a[4,1]   a[4,1] a[5,0] a[5,1]  a[5,2] a[3,1]   a[3,2]  a[3,3] a[4,1]   a[4,2]  a[4,3]  a[5,1]   a[5,2] a[5,3] 0 0 1 1 a[3,0] a[3,1]  a[3,2] a[3,1]  a[3,2] a[3,3] a[2,0] a[2,1]  a[2,2] a[2,1]  a[2,2] a[2,3]
Illustration of the effect the  writeHalo()  function “ Declared” ghost Region of array segment Physical  Segment Of array Ghost area written  By writeHalo
Remarks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Adlib ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HPJava communication layers Grey font  = not yet implemented! Other application- level APIs MPJ  and Java version of Adlib mpjdev Pure Java Native MPI SMPs or  Networks of PCs Parallel Hardware (e.g. IBM SP3, Sun HPC)
mpjdev I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
mpjdev II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Overview of HPJava execution ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Applications and Performance ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
 
Multigrid ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]
HPJava with GUI ,[object Object],[object Object],[object Object],[object Object],[object Object]
 
[object Object],[object Object],[object Object]
Related Systems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Tendances (20)

MPI Introduction
MPI IntroductionMPI Introduction
MPI Introduction
 
Introduction to MPI
Introduction to MPI Introduction to MPI
Introduction to MPI
 
The Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's TermsThe Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's Terms
 
MPI
MPIMPI
MPI
 
Message Passing Interface (MPI)-A means of machine communication
Message Passing Interface (MPI)-A means of machine communicationMessage Passing Interface (MPI)-A means of machine communication
Message Passing Interface (MPI)-A means of machine communication
 
Point-to-Point Communicationsin MPI
Point-to-Point Communicationsin MPIPoint-to-Point Communicationsin MPI
Point-to-Point Communicationsin MPI
 
Parallel programming using MPI
Parallel programming using MPIParallel programming using MPI
Parallel programming using MPI
 
My ppt hpc u4
My ppt hpc u4My ppt hpc u4
My ppt hpc u4
 
Chapter 6 pc
Chapter 6 pcChapter 6 pc
Chapter 6 pc
 
MPI History
MPI HistoryMPI History
MPI History
 
Porting an MPI application to hybrid MPI+OpenMP with Reveal tool on Shaheen II
Porting an MPI application to hybrid MPI+OpenMP with Reveal tool on Shaheen IIPorting an MPI application to hybrid MPI+OpenMP with Reveal tool on Shaheen II
Porting an MPI application to hybrid MPI+OpenMP with Reveal tool on Shaheen II
 
Using MPI
Using MPIUsing MPI
Using MPI
 
Collective Communications in MPI
 Collective Communications in MPI Collective Communications in MPI
Collective Communications in MPI
 
Preprocessor directives in c language
Preprocessor directives in c languagePreprocessor directives in c language
Preprocessor directives in c language
 
Nug2004 yhe
Nug2004 yheNug2004 yhe
Nug2004 yhe
 
Performance measures
Performance measuresPerformance measures
Performance measures
 
2018867974 sulaim (2)
2018867974 sulaim (2)2018867974 sulaim (2)
2018867974 sulaim (2)
 
Mpi Test Suite Multi Threaded
Mpi Test Suite Multi ThreadedMpi Test Suite Multi Threaded
Mpi Test Suite Multi Threaded
 
Parallel computing(2)
Parallel computing(2)Parallel computing(2)
Parallel computing(2)
 
Return Oriented Programming
Return Oriented ProgrammingReturn Oriented Programming
Return Oriented Programming
 

Similaire à Mpi Java

MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxVeerannaKotagi1
 
A Framework For Unit Testing With Coarray Fortran
A Framework For Unit Testing With Coarray FortranA Framework For Unit Testing With Coarray Fortran
A Framework For Unit Testing With Coarray FortranKarin Faust
 
Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Mr. Akaash
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Pratima Parida
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Pratima Parida
 
Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2Marcirio Chaves
 
Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Carmen Sanborn
 
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...OdessaJS Conf
 
From monolith web app to micro-frontends
From monolith web app to micro-frontendsFrom monolith web app to micro-frontends
From monolith web app to micro-frontendsRustam Aliyev
 
Sulthan's_JAVA_Material_for_B.Sc-CS.pdf
Sulthan's_JAVA_Material_for_B.Sc-CS.pdfSulthan's_JAVA_Material_for_B.Sc-CS.pdf
Sulthan's_JAVA_Material_for_B.Sc-CS.pdfSULTHAN BASHA
 
Introduction of Java Programming.ppt
Introduction of Java Programming.pptIntroduction of Java Programming.ppt
Introduction of Java Programming.pptGunjalSanjay
 

Similaire à Mpi Java (20)

MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptx
 
A Framework For Unit Testing With Coarray Fortran
A Framework For Unit Testing With Coarray FortranA Framework For Unit Testing With Coarray Fortran
A Framework For Unit Testing With Coarray Fortran
 
Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...Introduction to Java Programming, Basic Structure, variables Data type, input...
Introduction to Java Programming, Basic Structure, variables Data type, input...
 
java new technology
java new technologyjava new technology
java new technology
 
Inside JVM
Inside JVMInside JVM
Inside JVM
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)
 
Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)Java Semimar Slide (Cetpa)
Java Semimar Slide (Cetpa)
 
Java Notes .pdf
Java Notes .pdfJava Notes .pdf
Java Notes .pdf
 
Java1
Java1Java1
Java1
 
Java
Java Java
Java
 
Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2
 
Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...
 
OpenMP
OpenMPOpenMP
OpenMP
 
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
Rustam Aliyev and Ivan Martynov - From monolith web app to micro-frontends – ...
 
From monolith web app to micro-frontends
From monolith web app to micro-frontendsFrom monolith web app to micro-frontends
From monolith web app to micro-frontends
 
[9-6-2016] Openlab Poster-v3
[9-6-2016] Openlab Poster-v3[9-6-2016] Openlab Poster-v3
[9-6-2016] Openlab Poster-v3
 
Sulthan's_JAVA_Material_for_B.Sc-CS.pdf
Sulthan's_JAVA_Material_for_B.Sc-CS.pdfSulthan's_JAVA_Material_for_B.Sc-CS.pdf
Sulthan's_JAVA_Material_for_B.Sc-CS.pdf
 
00 intro to java
00 intro to java00 intro to java
00 intro to java
 
Introduction of Java Programming.ppt
Introduction of Java Programming.pptIntroduction of Java Programming.ppt
Introduction of Java Programming.ppt
 

Dernier

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Dernier (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Mpi Java

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Introduction to mpiJava
  • 12.
  • 13.
  • 14. Class hierarchy MPI Group Comm Datatype Status Request package mpi Intracomm Intercomm Prequest Cartcomm Graphcomm
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. The mpiJava Implementation. Lessons Learned.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67. mpiJava performance 1. Shared memory mode
  • 68. mpiJava performance 2. Distributed memory
  • 69. mpiJava demos 1. CFD: inviscid flow
  • 70. mpiJava demos 2. Q-state Potts model
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78. Array of Arrays in Java 0 1 2 3 X Array of array for 2D 0 1 2 3 0 1 2 3 X Y Array of array in irregular structure
  • 79. Multiarray Z True 2-dimensional Array
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85. 2-dimensional Array Block-Distributed Over p p.dim(1) p.dim(0) 0 1 a[0,0] a[0,1] a[0,2] a[1,0] a[1,1] a[1,2] a[2,0] a[2,1] a[2,2] a[3,0] a[3,1] a[3,2] a[0,3] a[0,4] a[0,5] a[1,3] a[1,4] a[1,5] a[2,3] a[2,4] a[2,5] a[3,3] a[3,4] a[3,5] a[4,0] a[4,1] a[4,2] a[5,0] a[5,1] a[5,2] a[6,0] a[6,1] a[6,2] a[7,0] a[7,1] a[7,2] a[4,3] a[4,4] a[4,5] a[5,3] a[5,4] a[5,5] a[6,3] a[6,4] a[6,5] a[7,3] a[7,4] a[7,5] 0 1 a[0,6] a[0,7] a[1,6] a[1,7] a[2,6] a[2,7] a[3,6] a[3,7] a[4,6] a[4,7] a[5,6] a[5,7] a[6,6] a[6,7] a[7,6] a[7,7] 2 int N = 8 ; Procs2 p = new Procs(2, 3) ; on(p) { Range x = new BlockRange(N, p.dim(0)) ; Range y = new BlockRange(N, p.dim(1)) ; int [[-,-]] a = new int [[x, y]] ; }
  • 86.
  • 87.
  • 88.
  • 89. Visualization of Ghost Regions a[0,0] a[0,1] a[0,2] a[1,0] a[1,1] a[1,2] a[2,0] a[2,1] a[2,2] a[0,1] a[0,2] a[0,3] a[1,1] a[1,2] a[1,3] a[2,1] a[2,2] a[2,3] a[3,0] a[3,1] a[3,2] a[4,0] a[4,1] a[4,1] a[5,0] a[5,1] a[5,2] a[3,1] a[3,2] a[3,3] a[4,1] a[4,2] a[4,3] a[5,1] a[5,2] a[5,3] 0 0 1 1 a[3,0] a[3,1] a[3,2] a[3,1] a[3,2] a[3,3] a[2,0] a[2,1] a[2,2] a[2,1] a[2,2] a[2,3]
  • 90. Illustration of the effect the writeHalo() function “ Declared” ghost Region of array segment Physical Segment Of array Ghost area written By writeHalo
  • 91.
  • 92.
  • 93. HPJava communication layers Grey font = not yet implemented! Other application- level APIs MPJ and Java version of Adlib mpjdev Pure Java Native MPI SMPs or Networks of PCs Parallel Hardware (e.g. IBM SP3, Sun HPC)
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.  
  • 100.
  • 101.
  • 102.
  • 103.  
  • 104.
  • 105.