Index

A

active messages programming model 118

active state 136

add_constant_parameter() 102

add_invocation_parameter() 102

add_result_dependency() 104

add-in objects 36

append() 44

attributes 135

B

BasicFiles_append() 47

BasicFiles_close() 46

BasicFiles_creat() 45

BasicFiles_delete() 46

BasicFiles_done() 45

BasicFiles_exists() 45

BasicFiles_fclose() 48

BasicFiles_fflush() 48

BasicFiles_fgetc() 49

BasicFiles_fgets() 50

BasicFiles_fopen() 48

BasicFiles_fputc() 49

BasicFiles_fputs() 49

BasicFiles_fread() 50

BasicFiles_fseek() 48

BasicFiles_ftell() 49

BasicFiles_fwrite() 49

BasicFiles_init() 45

BasicFiles_open() 46

BasicFiles_read() 46

BasicFiles_seek() 47

BasicFiles_setbufsize() 48

BasicFiles_size() 47

BasicFiles_tell() 47

BasicFiles_trunc() 47

BasicFiles_truncAppend() 48

BasicFiles_write() 46

BFS 24-35

about Basic Fortran Support 24

client-side programming 28

compilation 31

compile an object 27

current limitations 34

IDL files 28

legion_bfs filter 25

method invocation 28

programming interface 25

server-side programming 26

stateless and stateful objects 26

syntax 35

binding agent interface 154

addBinding(Binding) 154

getBinding(LOID) 154

getClassBinding(LOID) 154

removeBinding(LOID) 154

binding process

binding agents 139

binding cache 139

binding mechanism 138

class-of mechanism 139

determining LOIDs 137

example 137

iImplementation cache 143

implementation object 142

object activation 140

rebinding mechanism 140

running objects 143

bindings 134

blockForEventAvailable() 114

buffered I/O library 48-50

buffered I/O library, Fortran interface 50-53

buffered I/O library, low impact interface 53

C

Castle and Legion 16

class interfaces 144

class-mandatory interface 146-148

activateInstance() 146

addImplementation() 147

createInstance() 146

createMultipleInstances() 146

deactivateInstance() 147

deleteInstance() 147

getBinding() 147

removeImplementation() 147

class-mandatory member functions 144, 145

ClassOf() 110

commands

legion_bfs 24, 27

legion_generate_idl 38, 39

legion_make_idl 40

computational tag 92

context object interface 156-157

continuation list 94

CORBA

compiling Legion stub files 40

generating Legion stub files 39

Legion-CORBA IDL compiler 38

using the Legion-CORBA IDL 39

CORBA and Legion 15

core object model

about 144

about core objects 145

binding agent 154

classes and metaclasses 146

context objects and context spaces 156

host object 148

implementation object and cache 152

vault object 150

CreateObject() 110

D

DCE and Legion 14

decryptionHandler() 118

destination LOID 92

E

encryptionHandler() 118

events

add new 116

event implementation classes 111

Event Manager 111

handlers 112

interfaces 113

exceptions 106-108

F

file interface library 41-80

buffered I/O library 48-50

C and C++ interface 48

header file 41

I/O library 45-48

LegionBuffer I/O interface 53

library functions 45

linkage 41

maintaining file pointers 41

makefile 41

public methods 44-45

file library functions 41

flushEvents() 114

Fortran interface 50

Fortran support 24

function identifier 92

G

get_char() 86

get_short() 86

Globe and Legion 16

Globus and Legion 15

H

host object implementations 148-150

host object interface 149

host-mandatory interface 149

I

I/O libraries 41-80

2D file asynchronous interface 70

2D file synchronous interface 61

buffered library, C and C++ interface 48

buffered library, Fortran interface 50

buffered library, low impact interface 53

command-line tools 80

LegionBuffer I/O header 53

LegionBuffer I/O interface 53

raw I/O header 42

raw I/O library 45

raw I/O linkage 42

terminal I/O 77

implementation object interface 152-154

getImplementation() 154

inert state 136

invocation matcher 95

invocation store 95

J

Java and Legion 16

L

legacy code 9

Legion

about 7

CWVC prototype 13

design constraints 11

documentation 7

history 13

IDL 36

language support 17

objectives 8

philosophy 10

Legion class management 146

Legion.AcceptMethods() 102

Legion.CreateObject() 102

Legion.init() 102

Legion.return() 99

LEGION_RETURN_FUNCTION_IDENTIFIER 92

LegionBindingAgent 145

LegionBuffer 85, 88

LegionBuffer I/O interface 53

LegionClass 145

LegionCompressionDefault 88

LegionCompressor 88

LegionComputationTagGenerator 93

LegionContinuationList 99

LegionDefaultMessageHandler 116

LegionEncryptionDefault 88

LegionEncryptor 88

LegionEvent 97, 112

LegionEvent_Can_I 116

LegionEvent_MessageComplete 116

LegionEvent_MessageReceive 116

LegionEvent_MethodDone 120

LegionEvent_MethodSend 116

LegionEventHandler 112

LegionEventHandlers 115

LegionEventKind 97, 112, 116

LegionEventKind defaults 115

LegionEventManager 111, 113

LegionExceptionCatcherDefaultEnable() 108

LegionGeneralPurposeLOID 83

LegionHost 145

LegionInvocationStore 96, 116

LegionLibraryState 108-110

LegionLOID 83

LegionMessage 94, 97

LegionPackable 88

LegionPacker 86

LegionPackerDefault 86

LegionPackerX2Y 86

LegionParameter 93

LegionParameterList 93

LegionParameters 102

LegionProgramGraph 95, 101

LegionProgramGraphs 94

LegionStorage 85

LegionStoragePersistent 85

LegionStorageScat 85

LegionUtilityFunction class 109

LegionVault 145

LegionWorkUnit 98

library functions 41

library initialization 109

lio_2d_create_() 61

lio_2d_destroy_() 62

lio_2d_free_request() 77

lio_2d_getRead_() 76

lio_2d_getWrite_() 77

lio_2d_nbReadBlock_() 72

lio_2d_nbReadCols_() 71

lio_2d_nbReadElements_() 74

lio_2d_nbReadRows_() 70

lio_2d_nbReadSequential_() 75

lio_2d_nbWriteBlock_() 73

lio_2d_nbWriteCols_() 72

lio_2d_nbWriteElements_() 74

lio_2d_nbWriteRows_() 70

lio_2d_nbWriteSequential_() 76

lio_2d_numCols() 69

lio_2d_numRows() 69

lio_2d_open_() 61

lio_2d_readBlock_() 65

lio_2d_readCols_() 63

lio_2d_readElements_() 66

lio_2d_readRows_() 62

lio_2d_readSequential_() 68

lio_2d_writeBlock_() 66

lio_2d_writeCols_() 64

lio_2d_writeElements_() 67

lio_2d_writeRows_() 63

lio_2d_writeSequential_() 69

lio_create_tempfile() 53

lio_legion_to_tempfile() 53

lio_open() 50

lio_tempfile_to_legion() 53

liof_2d_create_() 61

liof_2d_destroy_() 62

liof_2d_free_request() 77

liof_2d_getread_() 76

liof_2d_getWrite_() 77

liof_2d_nb_readblock_() 72

liof_2d_nb_readcols_() 71

liof_2d_nb_readelements_() 74

liof_2d_nb_readrows_() 70

liof_2d_nb_readsequential_() 75

liof_2d_nb_writeblock_() 73

liof_2d_nb_writecols_() 72

liof_2d_nb_writerows_() 71

liof_2d_nb_writesequential_() 76

liof_2d_nbWriteelements_() 75

liof_2d_numcols() 70

liof_2d_numrows() 69

liof_2d_open_() 61

liof_2d_readblock_() 65

liof_2d_readcols_() 64

liof_2d_readelements_() 67

liof_2d_readrows_() 62

liof_2d_readsequential_() 68

liof_2d_writeblock_() 66

liof_2d_writecols_() 64

liof_2d_writeelements_() 68

liof_2d_writerows_() 63

liof_2d_writesequential_() 69

liof_close() 50

liof_flush() 51

liof_read() 51

liof_read_doubles() 53

liof_read_ints() 52

liof_read_line() 51

liof_read_reals() 52

liof_rewind() 52

liof_write() 50

liof_write_doubles() 52

liof_write_ints() 52

liof_write_line() 51

liof_write_reals() 52

LOID

about 132

data structures 133

in binding process 137

M

make_loid() 83

make_reservation() 127

MayI() 36

Mentat 18-23

about MPL 18

classes 21

interobject parallelism encapsulation 18-20

Mentat objects vs. C++ objects 22

MPL compiler 82

object model 21

objects 22

philosophy 20

message stack hooks 37

messageDeliver() 123

MESSIAHS 131

MPI 17

multiple inheritance 37

N

Nexus and Legion 16

NOW and Legion 16

O

OA 134

object interface 36

object model

bindings 134

context names 133

LOID 132

naming conventions 132

object addresses 134

object attributes 135

object states 136

object wrappers 17

object-mandatory member functions 144

deactivate() 144

getInterface() 144

overriding 36

ping() 144

restoreState() 136

saveState() 136

OPA 136, 151-152

OPR 136, 150-152

P

pack() 88-90

path expression concurrency control 120

PathExpressionManager 120

program graphs 100

programming model 82

protocol Stack

default 115

protocol stack

adding new functionality 116

implementing events 111

public methods 44

put_char() 86

put_short() 86

PVM 17

R

read() 44

resource management

constructing collection queries 131

determining available resources 127

Legion approach 125

management objects 126

MESSIAHS interface language 131

refusing reservations 129

reserving desired resources 127

resource allocation philosophy 125

Scheduler data structure 128

runtime libary

event interfaces 113

runtime library 82-124

active messages 118

add new event kind 116

binding process 96

catching exceptions 108

compressor 88

encryptor 88

event kinds and handlers 97

events 111-114

exception propagation model 106

exception propagation policy 107

invocation execution and result return 98

invocations and messages 92

Legion buffer 85

LegionLOID 83

LOID functionality 84

message contents 92-95

message database 95

message parameters 93

message passing 123

metadata 88

method invocation 96

method invocation construction 99

method ready events 98

modifying 111

packability 88

packer 86

path expressions 120

program graphs 100

programming model 82

storage 85

use 108-110

work unit 95, 98

S

seek() 87

serverLoop() 114

source LOID 92

stat() 44

stub generator 36

T

terminal I/O 77

terminal I/O library

legion_disconnect_stdio 80

legion_map_stdio 79

legion_printf 78

legion_puts 78

legion_register_tty_callback 79

legion_tty_init 78

legion_tty_write 78

legion_unmap_stdio 79

legion_watch_stdio 79

subroutine legion_disconnect_stdio 80

subroutine legion_map_stdio 80

subroutine legion_tty_init 80

subroutine legion_unmap_stdio 80

subroutine legion_watch_stdio 80

TrivialMayI() 36

trunc() 44

truncAppend() 45

tty objects 80

legion_set_tty 81

legion_tty 81

legion_tty_off 81

legion_tty_watch 81

TwoDFileObject

create() 61

destroy() 62

getRead() 76

getWrite() 77

nbReadBlock() 72

nbReadCols() 71

nbReadElements() 73

nbReadRows() 70

nbReadSequential() 75

nbWriteBlock() 73

nbWriteCols() 71

nbWriteElements() 74

nbWriteRows() 70

nbWriteSequential() 75

numCols() 69

numRows() 69

open() 61

readBlock() 65

readCols() 63

readElements() 66

readRows() 62

readSequential() 68

writeBlock() 65

writeCols() 64

writeElements() 67

writeRows() 63

writeSequential() 69

two-dimensional file interfaces 53-77

access patterns 54

asynchronous interfaces 70

examples 55

header 43

linking 43

synchronous interface 61

U

unpack() 88-90

UVaL_LegionDomain_Virginia 83

UVaL_METHOD_RETURN_VALUE 103

UVaL_Reference 83, 104-106

UVaL_ReferenceCountingObject 104

V

vault object implementations 150-152

vault object interface

basic 151

createOPR() 151

deleteOPR() 151

getOPR() 151

getOPRAddress() 151

giveOPR() 151

isManaged() 151

markActive() 151

markInactive() 151

OPAs and OPRs 151-152

W

write() 44


Back to Developer Manual Table of Contents

Directory of Legion 1.5 Manuals