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

Basis for comparison programming languages
Basis for comparison programming languagesBasis for comparison programming languages
Basis for comparison programming languages
Abdo ELhais
 
16 implementation techniques
16 implementation techniques16 implementation techniques
16 implementation techniques
Majong DevJfu
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
inside-BigData.com
 

Tendances (13)

Basis for comparison programming languages
Basis for comparison programming languagesBasis for comparison programming languages
Basis for comparison programming languages
 
Java for C++ programers
Java for C++ programersJava for C++ programers
Java for C++ programers
 
16 implementation techniques
16 implementation techniques16 implementation techniques
16 implementation techniques
 
Grade 8: Introduction To Java
Grade 8: Introduction To JavaGrade 8: Introduction To Java
Grade 8: Introduction To Java
 
C++ vs java which is best for future
C++ vs java which is best for futureC++ vs java which is best for future
C++ vs java which is best for future
 
(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE
(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE
(Very) Loose proposal to revamp MPI_INIT and MPI_FINALIZE
 
Enforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automationEnforce reproducibility: dependency management and build automation
Enforce reproducibility: dependency management and build automation
 
Mixing Python and Java
Mixing Python and JavaMixing Python and Java
Mixing Python and Java
 
OpenMP
OpenMPOpenMP
OpenMP
 
Csharp
CsharpCsharp
Csharp
 
Java chapter 1
Java   chapter 1Java   chapter 1
Java chapter 1
 
Expressive And Modular Predicate Dispatch In Java
Expressive And Modular Predicate Dispatch In JavaExpressive And Modular Predicate Dispatch In Java
Expressive And Modular Predicate Dispatch In Java
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
 

Similaire à Mpi Java1995

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 - C2
Marcirio 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
 
Introduction of Java Programming.ppt
Introduction of Java Programming.pptIntroduction of Java Programming.ppt
Introduction of Java Programming.ppt
GunjalSanjay
 

Similaire à Mpi Java1995 (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
 
What is [Open] MPI?
What is [Open] MPI?What is [Open] MPI?
What is [Open] MPI?
 
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...
 
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
 
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 – ...
 
[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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Mpi Java1995

  • 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.