File: openmp.proto

package info (click to toggle)
llvm-toolchain-15 1%3A15.0.6-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,554,644 kB
  • sloc: cpp: 5,922,452; ansic: 1,012,136; asm: 674,362; python: 191,568; objc: 73,855; f90: 42,327; lisp: 31,913; pascal: 11,973; javascript: 10,144; sh: 9,421; perl: 7,447; ml: 5,527; awk: 3,523; makefile: 2,520; xml: 885; cs: 573; fortran: 567
file content (153 lines) | stat: -rw-r--r-- 3,069 bytes parent folder | download | duplicates (9)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
syntax = "proto3";

package openmp.libomptarget.remote;
option cc_enable_arenas = true;

service RemoteOffload {
  rpc Shutdown(Null) returns (I32) {}

  rpc RegisterLib(TargetBinaryDescription) returns (I32) {}
  rpc UnregisterLib(Pointer) returns (I32) {}

  rpc IsValidBinary(TargetDeviceImagePtr) returns (I32) {}
  rpc GetNumberOfDevices(Null) returns (I32) {}

  rpc InitDevice(I32) returns (I32) {}
  rpc InitRequires(I64) returns (I32) {}

  rpc LoadBinary(Binary) returns (TargetTable) {}

  rpc DataAlloc(AllocData) returns (Pointer) {}
  rpc DataDelete(DeleteData) returns (I32) {}

  rpc DataSubmit(stream SubmitData) returns (I32) {}
  rpc DataRetrieve(RetrieveData) returns (stream Data) {}

  rpc IsDataExchangeable(DevicePair) returns (I32) {}
  rpc DataExchange(ExchangeData) returns (I32) {}

  rpc RunTargetRegion(TargetRegion) returns (I32) {}
  rpc RunTargetTeamRegion(TargetTeamRegion) returns (I32) {}
}

message Null {}

message Pointer { uint64 number = 1; }

message I32 { int32 number = 1; }

message I64 { int64 number = 1; }

message DevicePair {
  int32 src_dev_id = 1;
  int32 dst_dev_id = 2;
}

message Binary {
  uint64 image_ptr = 1;
  int32 device_id = 2;
}

message TargetOffloadEntry {
  bytes data = 1;
  string name = 2;
  int32 flags = 3;
  int32 reserved = 4;
}

message DeviceOffloadEntry {
  string name = 1;
  uint64 addr = 2;
  int32 flags = 3;
  int32 reserved = 4;
  int32 size = 5;
}

message TargetTable {
  repeated DeviceOffloadEntry entries = 1;
  repeated uint64 entry_ptrs = 2;
}

message TargetDeviceImagePtr {
  uint64 image_ptr = 1;
  repeated uint64 entry_ptrs = 2;
}

message TargetDeviceImage {
  bytes binary = 1;
  repeated TargetOffloadEntry entries = 2;
}

message ImagePtrs {
  uint64 img_ptr = 1;
  repeated uint64 entry_ptrs = 2;
}

message TargetBinaryDescription {
  repeated ImagePtrs image_ptrs = 1;
  repeated TargetOffloadEntry entries = 2;
  repeated TargetDeviceImage images = 3;
  repeated uint64 entry_ptrs = 4;
  uint64 bin_ptr = 5;
}

message AllocData {
  uint64 size = 1;
  uint64 hst_ptr = 2;
  int32 device_id = 3;
}

message SubmitData {
  bytes data = 1;
  uint64 hst_ptr = 2;
  uint64 tgt_ptr = 3;
  uint64 start = 5;
  uint64 size = 6;
  int32 device_id = 7;
}

message RetrieveData {
  uint64 hst_ptr = 1;
  uint64 tgt_ptr = 2;
  uint64 size = 3;
  int32 device_id = 5;
}

message Data {
  bytes data = 1;
  uint64 start = 2;
  uint64 size = 3;
  int32 ret = 4;
}

message ExchangeData {
  uint64 src_dev_id = 1;
  uint64 src_ptr = 2;
  uint64 dst_dev_id = 3;
  uint64 dst_ptr = 4;
  uint64 size = 6;
}

message DeleteData {
  uint64 tgt_ptr = 1;
  int32 device_id = 2;
}

message TargetRegion {
  repeated uint64 tgt_args = 1;
  repeated int64 tgt_offsets = 2;
  uint64 tgt_entry_ptr = 3;
  int32 device_id = 4;
  int32 arg_num = 5;
}

message TargetTeamRegion {
  repeated uint64 tgt_args = 1;
  repeated int64 tgt_offsets = 2;
  uint64 tgt_entry_ptr = 3;
  uint64 loop_tripcount = 4;
  int32 device_id = 5;
  int32 arg_num = 6;
  int32 team_num = 7;
  int32 thread_limit = 8;
}