[Mlir-commits] [mlir] [mlir][python] add binding to `#gpu.object` (PR #88992)
Maksim Levental
llvmlistbot at llvm.org
Wed Apr 17 08:31:56 PDT 2024
================
@@ -0,0 +1,69 @@
+//===- DialectGPU.cpp - Pybind module for the GPU passes ------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===---------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/GPU.h"
+#include "mlir-c/IR.h"
+#include "mlir-c/Support.h"
+#include "mlir/Bindings/Python/PybindAdaptors.h"
+
+#include <pybind11/detail/common.h>
+#include <pybind11/pybind11.h>
+
+namespace py = pybind11;
+using namespace mlir;
+using namespace mlir::python;
+using namespace mlir::python::adaptors;
+
+// -----------------------------------------------------------------------------
+// Module initialization.
+// -----------------------------------------------------------------------------
+
+PYBIND11_MODULE(_mlirDialectsGPU, m) {
+ m.doc() = "MLIR GPU Dialect";
+
+ //===-------------------------------------------------------------------===//
+ // ObjectAttr
+ //===-------------------------------------------------------------------===//
+
+ mlir_attribute_subclass(m, "ObjectAttr", mlirAttributeIsAGPUObjectAttr)
+ .def_classmethod(
+ "get",
+ [](py::object cls, MlirAttribute target, uint32_t format,
+ py::bytes object, std::optional<MlirAttribute> mlirObjectProps,
+ std::optional<MlirContext> context) {
+ py::buffer_info info(py::buffer(object).request());
+ MlirStringRef objectStrRef =
+ mlirStringRefCreate(static_cast<char *>(info.ptr), info.size);
+ return cls(mlirGPUObjectAttrGet(
+ context.has_value() ? *context
+ : mlirAttributeGetContext(target),
----------------
makslevental wrote:
Ya I guess not
https://github.com/llvm/llvm-project/pull/88992
More information about the Mlir-commits
mailing list