SlideShare una empresa de Scribd logo
1 de 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]

Más contenido relacionado

La actualidad más candente

MPI Introduction
MPI IntroductionMPI Introduction
MPI Introduction
Rohit Banga
 

La actualidad más candente (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
 

Similar a Mpi Java

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
 

Similar a 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
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
[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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
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 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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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)
 

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.