Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНСАЙД ИНФА MPI.pdf
Скачиваний:
15
Добавлен:
15.04.2015
Размер:
3.3 Mб
Скачать

586

ANNEX A. LANGUAGE BINDINGS SUMMARY

1A.4.10 External Interfaces C++ Bindings

2

3

4

5

6

7

8

9

10

11

namespace MPI {

fvoid Grequest::Complete() (binding deprecated, see Section 15.2) g fint Init_thread(int required) (binding deprecated, see Section 15.2) g

fint Init_thread(int& argc, char**& argv, int required) (binding deprecated, see Section 15.2) g

fbool Is_thread_main() (binding deprecated, see Section 15.2) g

12fint Query_thread() (binding deprecated, see Section 15.2) g

13fvoid Status::Set_cancelled(bool flag) (binding deprecated, see Section 15.2) g

14

15

16

17

18

19

20

21

22

fvoid Status::Set_elements(const Datatype& datatype, int count) (binding deprecated, see Section 15.2) g

fstatic Grequest Grequest::Start(const Grequest::Query_function*

query_fn, const Grequest::Free_function* free_fn,

const Grequest::Cancel_function* cancel_fn, void *extra_state)

(binding deprecated, see Section 15.2) g

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

};

A.4.11 I/O C++ Bindings

namespace MPI {

fvoid File::Close() (binding deprecated, see Section 15.2) g

fstatic void File::Delete(const char* filename, const Info& info) (binding deprecated, see Section 15.2) g

fint File::Get_amode() const (binding deprecated, see Section 15.2) g

fbool File::Get_atomicity() const (binding deprecated, see Section 15.2) g

fOffset File::Get_byte_offset(const Offset disp) const (binding deprecated, see Section 15.2) g

fGroup File::Get_group() const (binding deprecated, see Section 15.2) g

fInfo File::Get_info() const (binding deprecated, see Section 15.2) g

fOffset File::Get_position() const (binding deprecated, see Section 15.2) g

fOffset File::Get_position_shared() const (binding deprecated, see Section 15.2) g

fOffset File::Get_size() const (binding deprecated, see Section 15.2) g

fAint File::Get_type_extent(const Datatype& datatype) const (binding deprecated, see Section 15.2) g

48

A.4. C++ BINDINGS (DEPRECATED)

587

fvoid File::Get_view(Offset& disp, Datatype& etype, Datatype& filetype, char* datarep) const (binding deprecated, see Section 15.2) g

fRequest File::Iread(void* buf, int count, const Datatype& datatype)

(binding deprecated, see Section 15.2) g

fRequest File::Iread_at(Offset offset, void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fRequest File::Iread_shared(void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fRequest File::Iwrite(const void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fRequest File::Iwrite_at(Offset offset, const void* buf, int count, const Datatype& datatype) (binding deprecated, see Section 15.2) g

fRequest File::Iwrite_shared(const void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fstatic File File::Open(const Intracomm& comm, const char* filename,

int amode, const Info& info) (binding deprecated, see Section 15.2) g

fvoid File::Preallocate(Offset size) (binding deprecated, see Section 15.2) g

fvoid File::Read(void* buf, int count, const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Read(void* buf, int count, const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Read_all(void* buf, int count, const Datatype& datatype)

(binding deprecated, see Section 15.2) g

fvoid File::Read_all(void* buf, int count, const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Read_all_begin(void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Read_all_end(void* buf) (binding deprecated, see Section 15.2) g

fvoid File::Read_all_end(void* buf, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Read_at(Offset offset, void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Read_at(Offset offset, void* buf, int count,

const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Read_at_all(Offset offset, void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

588

ANNEX A. LANGUAGE BINDINGS SUMMARY

1fvoid File::Read_at_all(Offset offset, void* buf, int count,

2

3

4

const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

5fvoid File::Read_at_all_begin(Offset offset, void* buf, int count,

6

7

8

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Read_at_all_end(void* buf) (binding deprecated, see Section 15.2) g

9fvoid File::Read_at_all_end(void* buf, Status& status) (binding deprecated,

10

11

12

13

see Section 15.2) g

fvoid File::Read_ordered(void* buf, int count, const Datatype& datatype)

(binding deprecated, see Section 15.2) g

14

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

fvoid File::Read_ordered(void* buf, int count, const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Read_ordered_begin(void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Read_ordered_end(void* buf) (binding deprecated, see Section 15.2) g

fvoid File::Read_ordered_end(void* buf, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Read_shared(void* buf, int count, const Datatype& datatype)

(binding deprecated, see Section 15.2) g

fvoid File::Read_shared(void* buf, int count, const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid Register_datarep(const char* datarep, Datarep_conversion_function* read_conversion_fn, Datarep_conversion_function* write_conversion_fn, Datarep_extent_function* dtype_file_extent_fn, void* extra_state) (binding deprecated, see Section 15.2) g

fvoid File::Seek(Offset offset, int whence) (binding deprecated, see Section 15.2) g

fvoid File::Seek_shared(Offset offset, int whence) (binding deprecated, see Section 15.2) g

fvoid File::Set_atomicity(bool flag) (binding deprecated, see Section 15.2) g fvoid File::Set_info(const Info& info) (binding deprecated, see Section 15.2) g fvoid File::Set_size(Offset size) (binding deprecated, see Section 15.2) g

fvoid File::Set_view(Offset disp, const Datatype& etype, const Datatype& filetype, const char* datarep,

const Info& info) (binding deprecated, see Section 15.2) g

fvoid File::Sync() (binding deprecated, see Section 15.2) g

A.4. C++ BINDINGS (DEPRECATED)

589

fvoid File::Write(const void* buf, int count, const Datatype& datatype)

(binding deprecated, see Section 15.2) g

fvoid File::Write(const void* buf, int count, const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Write_all(const void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Write_all(const void* buf, int count,

const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Write_all_begin(const void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Write_all_end(const void* buf) (binding deprecated, see Section 15.2) g

fvoid File::Write_all_end(const void* buf, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Write_at(Offset offset, const void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Write_at(Offset offset, const void* buf, int count,

const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Write_at_all(Offset offset, const void* buf, int count, const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Write_at_all(Offset offset, const void* buf, int count,

const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Write_at_all_begin(Offset offset, const void* buf, int count, const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Write_at_all_end(const void* buf) (binding deprecated, see Section 15.2) g

fvoid File::Write_at_all_end(const void* buf, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Write_ordered(const void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

fvoid File::Write_ordered(const void* buf, int count,

const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

fvoid File::Write_ordered_begin(const void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

590

ANNEX A. LANGUAGE BINDINGS SUMMARY

1

2

3

fvoid File::Write_ordered_end(const void* buf) (binding deprecated, see Section 15.2) g

4fvoid File::Write_ordered_end(const void* buf, Status& status) (binding

5

6

7

8

deprecated, see Section 15.2) g

fvoid File::Write_shared(const void* buf, int count,

const Datatype& datatype) (binding deprecated, see Section 15.2) g

9

10

11

12

13

14

15

16

fvoid File::Write_shared(const void* buf, int count,

const Datatype& datatype, Status& status) (binding deprecated, see Section 15.2) g

};

A.4.12 Language Bindings C++ Bindings

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

namespace MPI {

fstatic Datatype Datatype::Create_f90_complex(int p, int r) (binding deprecated, see Section 15.2) g

fstatic Datatype Datatype::Create_f90_integer(int r) (binding deprecated, see Section 15.2) g

fstatic Datatype Datatype::Create_f90_real(int p, int r) (binding deprecated, see Section 15.2) g

Exception::Exception(int error_code)

fint Exception::Get_error_class() const (binding deprecated, see Section 15.2) g

fint Exception::Get_error_code() const (binding deprecated, see Section 15.2) g

fconst char* Exception::Get_error_string() const (binding deprecated, see Section 15.2) g

fstatic Datatype Datatype::Match_size(int typeclass, int size) (binding deprecated, see Section 15.2) g

37 };

38

39

A.4.13 Pro ling Interface C++ Bindings

 

40

41

42

43

44

namespace MPI {

fvoid Pcontrol(const int level, ...) (binding deprecated, see Section 15.2) g

45 };

46

47

48

A.4. C++ BINDINGS (DEPRECATED)

591

A.4.14 C++ Bindings on all MPI Classes

The C++ language requires all classes to have four special functions: a default constructor, a copy constructor, a destructor, and an assignment operator. The bindings for these functions are listed below; their semantics are discussed in Section 16.1.5. The two constructors are not virtual. The bindings prototype functions are using the type hCLASSi rather than listing each function for every MPI class. The token hCLASSi can be replaced with valid MPI- 2 class names, such as Group, Datatype, etc., except when noted. In addition, bindings are provided for comparison and inter-language operability from Sections 16.1.5 and 16.1.9.

A.4.15 Construction / Destruction

namespace MPI {

hCLASSi::hCLASSi() hCLASSi:: hCLASSi()

};

A.4.16 Copy / Assignment

namespace MPI {

hCLASSi::hCLASSi(const hCLASSi& data)

hCLASSi& hCLASSi::operator=(const hCLASSi& data)

};

A.4.17 Comparison

Since Status instances are not handles to underlying MPI objects, the operator==() and operator!=() functions are not de ned on the Status class.

namespace MPI {

bool hCLASSi::operator==(const hCLASSi& data) const

bool hCLASSi::operator!=(const hCLASSi& data) const

};

A.4.18 Inter-language Operability

Since there are no C++ MPI::STATUS_IGNORE and MPI::STATUSES_IGNORE objects, the result of promoting the C or Fortran handles (MPI_STATUS_IGNORE and

MPI_STATUSES_IGNORE) to C++ is unde ned.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

namespace MPI {

48

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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

592

ANNEX A. LANGUAGE BINDINGS SUMMARY

hCLASSi& hCLASSi::operator=(const MPI_hCLASSi& data) hCLASSi::hCLASSi(const MPI_hCLASSi& data) hCLASSi::operator MPI_hCLASSi() const

};