正在加载图片...
14 Profiling Interface 453 14.1 Requirements··············· 453 14.2 Discussion....·.······················ 453 14.3 Logic of the Design..·.···. 454 14.3.1 Miscellaneous Control of Profiling 454 l4.4 Examples.·.·.······················ 455 14.4.1 Profiler Implementation...... 455 14.4.2 MPI Library Implementation . 。 456 Systems with Weak Symbols . 456 Systems Without Weak Symbols 456 14.4.3 Complications......····· 457 Multiple Counting········· 457 Linker Oddities..···· 457 14.5 Multiple Levels of Interception .. 458 15 Deprecated Functions 459 15.1 Deprecated since MPl-2.0 459 15.2 Deprecated since MPI-2.2 465 16 Language Bindings 467 16.1C++......·.。.. 467 16.1.1 Overview 467 16.1.2 Design.···· 467 16.1.3 C++Classes for MPI 。。 468 16.1.4 Class Member Functions for MPI.. 468 16.l.5 Semantics.········· 469 16.1.6 C++Datatypes 471 16.1.7 Communicators........ 474 16.1.8 Exceptions.·········· 476 16.1.9 Mixed-Language Operability 477 16.1.10 Profiling........·.··· 477 16.2 Fortran Support 480 16.2.1 Overview 480 l6.2.2 Problems With Fortran Bindings for MPI.·...·.·· 481 Problems Due to Strong Typing 482 Problems Due to Data Copying and Sequence Association,····· 482 Special Constants···························· 484 Fortran 90 Derived Types... 484 A Problem with Register Optimization...······ 485 16.2.3 Basic Fortran Support.·················· 487 l6.2.4 Extended Fortran Support.·..·..·..··.······ 488 The mpi Module.......,··..··.····: 488 No Type Mismatch Problems for Subroutines with Choice Arguments 489 16.2.5 Additional Support for Fortran Numeric Intrinsic Types .. 489 Parameterized Datatypes with Specified Precision and Exponent Range490 Support for Size-specific MPI Datatypes.··············· 494 Communication With Size-specific Types 496 l6.3 Language Interoperability.......,·.·。.···.···. 497 xii14 Profiling Interface 453 14.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 14.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 14.3 Logic of the Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 14.3.1 Miscellaneous Control of Profiling . . . . . . . . . . . . . . . . . . . 454 14.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 14.4.1 Profiler Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 455 14.4.2 MPI Library Implementation . . . . . . . . . . . . . . . . . . . . . . 456 Systems with Weak Symbols . . . . . . . . . . . . . . . . . . . . . . 456 Systems Without Weak Symbols . . . . . . . . . . . . . . . . . . . . 456 14.4.3 Complications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Multiple Counting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Linker Oddities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 14.5 Multiple Levels of Interception . . . . . . . . . . . . . . . . . . . . . . . . . 458 15 Deprecated Functions 459 15.1 Deprecated since MPI-2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 15.2 Deprecated since MPI-2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 16 Language Bindings 467 16.1 C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 16.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 16.1.2 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 16.1.3 C++ Classes for MPI . . . . . . . . . . . . . . . . . . . . . . . . . . 468 16.1.4 Class Member Functions for MPI . . . . . . . . . . . . . . . . . . . . 468 16.1.5 Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 16.1.6 C++ Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 16.1.7 Communicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 16.1.8 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 16.1.9 Mixed-Language Operability . . . . . . . . . . . . . . . . . . . . . . 477 16.1.10 Profiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 16.2 Fortran Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 16.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 16.2.2 Problems With Fortran Bindings for MPI . . . . . . . . . . . . . . . 481 Problems Due to Strong Typing . . . . . . . . . . . . . . . . . . . . 482 Problems Due to Data Copying and Sequence Association . . . . . . 482 Special Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 Fortran 90 Derived Types . . . . . . . . . . . . . . . . . . . . . . . . 484 A Problem with Register Optimization . . . . . . . . . . . . . . . . . 485 16.2.3 Basic Fortran Support . . . . . . . . . . . . . . . . . . . . . . . . . . 487 16.2.4 Extended Fortran Support . . . . . . . . . . . . . . . . . . . . . . . . 488 The mpi Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 No Type Mismatch Problems for Subroutines with Choice Arguments 489 16.2.5 Additional Support for Fortran Numeric Intrinsic Types . . . . . . . 489 Parameterized Datatypes with Specified Precision and Exponent Range490 Support for Size-specific MPI Datatypes . . . . . . . . . . . . . . . . 494 Communication With Size-specific Types . . . . . . . . . . . . . . . 496 16.3 Language Interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 xii
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有