We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
cuStreamGetCtx
1 parent 9dfc681 commit 28fa5bdCopy full SHA for 28fa5bd
4 files changed
clang/lib/DPCT/RulesLang/APINamesStream.inc
@@ -31,6 +31,12 @@ ASSIGNABLE_FACTORY(HEADER_INSERT_FACTORY(
31
MEMBER_CALL(ARG(0), true, "wait"),
32
CALL(ARG(1), ARG(0), ARG("0"), ARG(2)))))))
33
34
+ASSIGNABLE_FACTORY(FEATURE_REQUEST_FACTORY(
35
+ HelperFeatureEnum::device_ext,
36
+ ASSIGN_FACTORY_ENTRY("cuStreamGetCtx", DEREF(1),
37
+ CALL(MapNames::getDpctNamespace() + "get_device_id",
38
+ MEMBER_CALL(ARG(0), true, "get_device")))))
39
+
40
ASSIGNABLE_FACTORY(CONDITIONAL_FACTORY_ENTRY(
41
UseExtGraph,
42
CALL_FACTORY_ENTRY("cudaStreamBeginCapture",
clang/lib/DPCT/RulesLang/RulesLang.cpp
@@ -4178,7 +4178,7 @@ void StreamAPICallRule::registerMatcher(MatchFinder &MF) {
4178
"cudaStreamIsCapturing", "cudaStreamQuery", "cudaStreamWaitEvent",
4179
"cudaStreamAddCallback", "cuStreamCreate", "cuStreamSynchronize",
4180
"cuStreamWaitEvent", "cuStreamDestroy_v2", "cuStreamAttachMemAsync",
4181
- "cuStreamAddCallback", "cuStreamQuery");
+ "cuStreamAddCallback", "cuStreamQuery", "cuStreamGetCtx");
4182
};
4183
4184
MF.addMatcher(
clang/lib/DPCT/SrcAPI/APINames.inc
@@ -1783,7 +1783,7 @@ ENTRY(cuStreamEndCapture, cuStreamEndCapture, false, NO_FLAG, P4, "comment")
1783
ENTRY(cuStreamGetAttribute, cuStreamGetAttribute, false, NO_FLAG, P7, "comment")
1784
ENTRY(cuStreamGetCaptureInfo, cuStreamGetCaptureInfo_v2, false, NO_FLAG, P7, "comment")
1785
ENTRY(cuStreamGetCaptureInfo_v3, cuStreamGetCaptureInfo_v3, false, NO_FLAG, P7, "comment")
1786
-ENTRY(cuStreamGetCtx, cuStreamGetCtx, false, NO_FLAG, P4, "comment")
+ENTRY(cuStreamGetCtx, cuStreamGetCtx, true, NO_FLAG, P4, "Successful")
1787
ENTRY(cuStreamGetCtx_v2, cuStreamGetCtx_v2, false, NO_FLAG, P4, "comment")
1788
ENTRY(cuStreamGetFlags, cuStreamGetFlags, false, NO_FLAG, P4, "comment")
1789
ENTRY(cuStreamGetId, cuStreamGetId, false, NO_FLAG, P4, "comment")
clang/test/dpct/driver-stream-and-event.cu
@@ -183,3 +183,9 @@ unsigned getEventFlags(bool enabledSyncBlock) {
183
184
return flags;
185
}
186
187
+// CHECK: void test_stream_and_context(dpct::queue_ptr stream, int &context) {
188
+void test_stream_and_context(CUstream stream, CUcontext& context) {
189
+ // CHECK: context = dpct::get_device_id(stream->get_device());
190
+ cuStreamGetCtx(stream, &context);
191
+}
0 commit comments