Skip to content

Commit 229869c

Browse files
Merge pull request #2045 from callumfare/callum/ur_api_def
Generate .def file with all UR entry points
2 parents 02ffa90 + 3ba6bba commit 229869c

File tree

3 files changed

+268
-0
lines changed

3 files changed

+268
-0
lines changed

include/ur_api_funcs.def

Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
2+
/*
3+
*
4+
* Copyright (C) 2024 Intel Corporation
5+
*
6+
* Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
7+
* See LICENSE.TXT
8+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
9+
*
10+
* @file ur_api_funcs.def
11+
* @version v0.11-r0
12+
*
13+
*/
14+
15+
// Auto-generated file, do not edit.
16+
17+
_UR_API(urPlatformGet)
18+
_UR_API(urPlatformGetInfo)
19+
_UR_API(urPlatformGetNativeHandle)
20+
_UR_API(urPlatformCreateWithNativeHandle)
21+
_UR_API(urPlatformGetApiVersion)
22+
_UR_API(urPlatformGetBackendOption)
23+
_UR_API(urContextCreate)
24+
_UR_API(urContextRetain)
25+
_UR_API(urContextRelease)
26+
_UR_API(urContextGetInfo)
27+
_UR_API(urContextGetNativeHandle)
28+
_UR_API(urContextCreateWithNativeHandle)
29+
_UR_API(urContextSetExtendedDeleter)
30+
_UR_API(urEventGetInfo)
31+
_UR_API(urEventGetProfilingInfo)
32+
_UR_API(urEventWait)
33+
_UR_API(urEventRetain)
34+
_UR_API(urEventRelease)
35+
_UR_API(urEventGetNativeHandle)
36+
_UR_API(urEventCreateWithNativeHandle)
37+
_UR_API(urEventSetCallback)
38+
_UR_API(urProgramCreateWithIL)
39+
_UR_API(urProgramCreateWithBinary)
40+
_UR_API(urProgramBuild)
41+
_UR_API(urProgramCompile)
42+
_UR_API(urProgramLink)
43+
_UR_API(urProgramRetain)
44+
_UR_API(urProgramRelease)
45+
_UR_API(urProgramGetFunctionPointer)
46+
_UR_API(urProgramGetGlobalVariablePointer)
47+
_UR_API(urProgramGetInfo)
48+
_UR_API(urProgramGetBuildInfo)
49+
_UR_API(urProgramSetSpecializationConstants)
50+
_UR_API(urProgramGetNativeHandle)
51+
_UR_API(urProgramCreateWithNativeHandle)
52+
_UR_API(urProgramBuildExp)
53+
_UR_API(urProgramCompileExp)
54+
_UR_API(urProgramLinkExp)
55+
_UR_API(urKernelCreate)
56+
_UR_API(urKernelGetInfo)
57+
_UR_API(urKernelGetGroupInfo)
58+
_UR_API(urKernelGetSubGroupInfo)
59+
_UR_API(urKernelRetain)
60+
_UR_API(urKernelRelease)
61+
_UR_API(urKernelGetNativeHandle)
62+
_UR_API(urKernelCreateWithNativeHandle)
63+
_UR_API(urKernelGetSuggestedLocalWorkSize)
64+
_UR_API(urKernelSetArgValue)
65+
_UR_API(urKernelSetArgLocal)
66+
_UR_API(urKernelSetArgPointer)
67+
_UR_API(urKernelSetExecInfo)
68+
_UR_API(urKernelSetArgSampler)
69+
_UR_API(urKernelSetArgMemObj)
70+
_UR_API(urKernelSetSpecializationConstants)
71+
_UR_API(urKernelSuggestMaxCooperativeGroupCountExp)
72+
_UR_API(urQueueGetInfo)
73+
_UR_API(urQueueCreate)
74+
_UR_API(urQueueRetain)
75+
_UR_API(urQueueRelease)
76+
_UR_API(urQueueGetNativeHandle)
77+
_UR_API(urQueueCreateWithNativeHandle)
78+
_UR_API(urQueueFinish)
79+
_UR_API(urQueueFlush)
80+
_UR_API(urSamplerCreate)
81+
_UR_API(urSamplerRetain)
82+
_UR_API(urSamplerRelease)
83+
_UR_API(urSamplerGetInfo)
84+
_UR_API(urSamplerGetNativeHandle)
85+
_UR_API(urSamplerCreateWithNativeHandle)
86+
_UR_API(urMemImageCreate)
87+
_UR_API(urMemBufferCreate)
88+
_UR_API(urMemRetain)
89+
_UR_API(urMemRelease)
90+
_UR_API(urMemBufferPartition)
91+
_UR_API(urMemGetNativeHandle)
92+
_UR_API(urMemBufferCreateWithNativeHandle)
93+
_UR_API(urMemImageCreateWithNativeHandle)
94+
_UR_API(urMemGetInfo)
95+
_UR_API(urMemImageGetInfo)
96+
_UR_API(urPhysicalMemCreate)
97+
_UR_API(urPhysicalMemRetain)
98+
_UR_API(urPhysicalMemRelease)
99+
_UR_API(urAdapterGet)
100+
_UR_API(urAdapterRelease)
101+
_UR_API(urAdapterRetain)
102+
_UR_API(urAdapterGetLastError)
103+
_UR_API(urAdapterGetInfo)
104+
_UR_API(urEnqueueKernelLaunch)
105+
_UR_API(urEnqueueEventsWait)
106+
_UR_API(urEnqueueEventsWaitWithBarrier)
107+
_UR_API(urEnqueueMemBufferRead)
108+
_UR_API(urEnqueueMemBufferWrite)
109+
_UR_API(urEnqueueMemBufferReadRect)
110+
_UR_API(urEnqueueMemBufferWriteRect)
111+
_UR_API(urEnqueueMemBufferCopy)
112+
_UR_API(urEnqueueMemBufferCopyRect)
113+
_UR_API(urEnqueueMemBufferFill)
114+
_UR_API(urEnqueueMemImageRead)
115+
_UR_API(urEnqueueMemImageWrite)
116+
_UR_API(urEnqueueMemImageCopy)
117+
_UR_API(urEnqueueMemBufferMap)
118+
_UR_API(urEnqueueMemUnmap)
119+
_UR_API(urEnqueueUSMFill)
120+
_UR_API(urEnqueueUSMMemcpy)
121+
_UR_API(urEnqueueUSMPrefetch)
122+
_UR_API(urEnqueueUSMAdvise)
123+
_UR_API(urEnqueueUSMFill2D)
124+
_UR_API(urEnqueueUSMMemcpy2D)
125+
_UR_API(urEnqueueDeviceGlobalVariableWrite)
126+
_UR_API(urEnqueueDeviceGlobalVariableRead)
127+
_UR_API(urEnqueueReadHostPipe)
128+
_UR_API(urEnqueueWriteHostPipe)
129+
_UR_API(urEnqueueKernelLaunchCustomExp)
130+
_UR_API(urEnqueueCooperativeKernelLaunchExp)
131+
_UR_API(urEnqueueTimestampRecordingExp)
132+
_UR_API(urEnqueueNativeCommandExp)
133+
_UR_API(urBindlessImagesUnsampledImageHandleDestroyExp)
134+
_UR_API(urBindlessImagesSampledImageHandleDestroyExp)
135+
_UR_API(urBindlessImagesImageAllocateExp)
136+
_UR_API(urBindlessImagesImageFreeExp)
137+
_UR_API(urBindlessImagesUnsampledImageCreateExp)
138+
_UR_API(urBindlessImagesSampledImageCreateExp)
139+
_UR_API(urBindlessImagesImageCopyExp)
140+
_UR_API(urBindlessImagesImageGetInfoExp)
141+
_UR_API(urBindlessImagesMipmapGetLevelExp)
142+
_UR_API(urBindlessImagesMipmapFreeExp)
143+
_UR_API(urBindlessImagesImportExternalMemoryExp)
144+
_UR_API(urBindlessImagesMapExternalArrayExp)
145+
_UR_API(urBindlessImagesMapExternalLinearMemoryExp)
146+
_UR_API(urBindlessImagesReleaseExternalMemoryExp)
147+
_UR_API(urBindlessImagesImportExternalSemaphoreExp)
148+
_UR_API(urBindlessImagesReleaseExternalSemaphoreExp)
149+
_UR_API(urBindlessImagesWaitExternalSemaphoreExp)
150+
_UR_API(urBindlessImagesSignalExternalSemaphoreExp)
151+
_UR_API(urUSMHostAlloc)
152+
_UR_API(urUSMDeviceAlloc)
153+
_UR_API(urUSMSharedAlloc)
154+
_UR_API(urUSMFree)
155+
_UR_API(urUSMGetMemAllocInfo)
156+
_UR_API(urUSMPoolCreate)
157+
_UR_API(urUSMPoolRetain)
158+
_UR_API(urUSMPoolRelease)
159+
_UR_API(urUSMPoolGetInfo)
160+
_UR_API(urUSMPitchedAllocExp)
161+
_UR_API(urUSMImportExp)
162+
_UR_API(urUSMReleaseExp)
163+
_UR_API(urCommandBufferCreateExp)
164+
_UR_API(urCommandBufferRetainExp)
165+
_UR_API(urCommandBufferReleaseExp)
166+
_UR_API(urCommandBufferFinalizeExp)
167+
_UR_API(urCommandBufferAppendKernelLaunchExp)
168+
_UR_API(urCommandBufferAppendUSMMemcpyExp)
169+
_UR_API(urCommandBufferAppendUSMFillExp)
170+
_UR_API(urCommandBufferAppendMemBufferCopyExp)
171+
_UR_API(urCommandBufferAppendMemBufferWriteExp)
172+
_UR_API(urCommandBufferAppendMemBufferReadExp)
173+
_UR_API(urCommandBufferAppendMemBufferCopyRectExp)
174+
_UR_API(urCommandBufferAppendMemBufferWriteRectExp)
175+
_UR_API(urCommandBufferAppendMemBufferReadRectExp)
176+
_UR_API(urCommandBufferAppendMemBufferFillExp)
177+
_UR_API(urCommandBufferAppendUSMPrefetchExp)
178+
_UR_API(urCommandBufferAppendUSMAdviseExp)
179+
_UR_API(urCommandBufferEnqueueExp)
180+
_UR_API(urCommandBufferRetainCommandExp)
181+
_UR_API(urCommandBufferReleaseCommandExp)
182+
_UR_API(urCommandBufferUpdateKernelLaunchExp)
183+
_UR_API(urCommandBufferGetInfoExp)
184+
_UR_API(urCommandBufferCommandGetInfoExp)
185+
_UR_API(urUsmP2PEnablePeerAccessExp)
186+
_UR_API(urUsmP2PDisablePeerAccessExp)
187+
_UR_API(urUsmP2PPeerAccessGetInfoExp)
188+
_UR_API(urVirtualMemGranularityGetInfo)
189+
_UR_API(urVirtualMemReserve)
190+
_UR_API(urVirtualMemFree)
191+
_UR_API(urVirtualMemMap)
192+
_UR_API(urVirtualMemUnmap)
193+
_UR_API(urVirtualMemSetAccess)
194+
_UR_API(urVirtualMemGetInfo)
195+
_UR_API(urDeviceGet)
196+
_UR_API(urDeviceGetInfo)
197+
_UR_API(urDeviceRetain)
198+
_UR_API(urDeviceRelease)
199+
_UR_API(urDevicePartition)
200+
_UR_API(urDeviceSelectBinary)
201+
_UR_API(urDeviceGetNativeHandle)
202+
_UR_API(urDeviceCreateWithNativeHandle)
203+
_UR_API(urDeviceGetGlobalTimestamps)
204+
_UR_API(urLoaderConfigCreate)
205+
_UR_API(urLoaderConfigEnableLayer)
206+
_UR_API(urLoaderConfigGetInfo)
207+
_UR_API(urLoaderConfigRelease)
208+
_UR_API(urLoaderConfigRetain)
209+
_UR_API(urLoaderConfigSetCodeLocationCallback)
210+
_UR_API(urLoaderConfigSetMockingEnabled)
211+
_UR_API(urLoaderInit)
212+
_UR_API(urLoaderTearDown)

scripts/generate_code.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,26 @@ def _mako_print_cpp(path, namespace, tags, version, specs, meta):
108108
specs=specs,
109109
meta=meta)
110110

111+
112+
def _mako_api_funcs(path, namespace, tags, version, revision, specs, meta):
113+
template = "api_funcs.def.mako"
114+
fin = os.path.join(templates_dir, template)
115+
116+
name = "%s_api_funcs"%(namespace)
117+
filename = "%s.def"%(name)
118+
fout = os.path.join(path, filename)
119+
120+
print("Generating %s..."%fout)
121+
return util.makoWrite(
122+
fin, fout,
123+
name=name,
124+
ver=version,
125+
rev=revision,
126+
namespace=namespace,
127+
tags=tags,
128+
specs=specs,
129+
meta=meta)
130+
111131
"""
112132
generates c/c++ files from the specification documents
113133
"""
@@ -116,6 +136,7 @@ def _generate_api_cpp(incpath, srcpath, namespace, tags, version, revision, spec
116136
loc += _mako_api_cpp(srcpath, namespace, tags, version, revision, specs, meta)
117137
loc += _mako_ddi_h(incpath, namespace, tags, version, revision, specs, meta)
118138
loc += _mako_print_hpp(incpath, namespace, tags, version, revision, specs, meta)
139+
loc += _mako_api_funcs(incpath, namespace, tags, version, revision, specs, meta)
119140

120141
return loc
121142

scripts/templates/api_funcs.def.mako

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<%!
2+
import re
3+
from templates import helper as th
4+
%><%
5+
n=namespace
6+
N=n.upper()
7+
8+
x=tags['$x']
9+
X=x.upper()
10+
%>
11+
/*
12+
*
13+
* Copyright (C) 2024 Intel Corporation
14+
*
15+
* Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
16+
* See LICENSE.TXT
17+
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
18+
*
19+
* @file ${name}.def
20+
* @version v${ver}-r${rev}
21+
*
22+
*/
23+
24+
// Auto-generated file, do not edit.
25+
26+
%for tbl in th.get_pfntables(specs, meta, n, tags):
27+
%for obj in tbl['functions']:
28+
_UR_API(${th.make_func_name(n, tags, obj)})
29+
%endfor
30+
%endfor
31+
%for obj in th.get_loader_functions(specs, meta, n, tags):
32+
%if n + "Loader" in obj:
33+
_UR_API(${obj})
34+
%endif
35+
%endfor

0 commit comments

Comments
 (0)