MLIR-AIE 1.4.5.dev
Translation.h
Go to the documentation of this file.
1//===- Translation.h -------------------------------------------*- C++ -*-===//
2//
3// Copyright (C) 2022 Advanced Micro Devices, Inc.
4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5//
6//===----------------------------------------------------------------------===//
7
8#ifndef AIE_C_TRANSLATION_H
9#define AIE_C_TRANSLATION_H
10
11#include "aie-c/TargetModel.h"
12
13#include "mlir-c/IR.h"
14#include "mlir-c/Support.h"
15#include "mlir/CAPI/Wrap.h"
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21MLIR_CAPI_EXPORTED MlirStringRef aieTranslateModuleToLLVMIR(MlirOperation op);
22MLIR_CAPI_EXPORTED MlirStringRef aieTranslateNpuToBinary(
23 MlirOperation op, MlirStringRef deviceName, MlirStringRef sequenceName);
24MLIR_CAPI_EXPORTED MlirStringRef
25aieTranslateControlPacketsToUI32Vec(MlirOperation op, MlirStringRef deviceName);
26MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToXAIEV2(MlirOperation op,
27 MlirStringRef deviceName);
28MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToBCF(MlirOperation op, int col,
29 int row,
30 MlirStringRef deviceName);
31MLIR_CAPI_EXPORTED MlirStringRef aieLLVMLink(MlirStringRef *modules,
32 int nModules);
33MLIR_CAPI_EXPORTED MlirLogicalResult aieTranslateToCDODirect(
34 MlirOperation moduleOp, MlirStringRef workDirPath, MlirStringRef deviceName,
35 bool bigEndian, bool emitUnified, bool cdoDebug, bool aieSim,
36 bool xaieDebug, bool enableCores);
37MLIR_CAPI_EXPORTED MlirOperation aieTranslateBinaryToTxn(MlirContext ctx,
38 MlirStringRef binary);
39
41 void *ptr;
42};
44
45MLIR_CAPI_EXPORTED AieRtControl getAieRtControl(AieTargetModel tm);
46MLIR_CAPI_EXPORTED void freeAieRtControl(AieRtControl aieCtl);
47MLIR_CAPI_EXPORTED void aieRtStartTransaction(AieRtControl aieCtl);
48MLIR_CAPI_EXPORTED void aieRtDmaUpdateBdAddr(AieRtControl aieCtl, int col,
49 int row, size_t addr, size_t bdId);
50MLIR_CAPI_EXPORTED void aieRtExportSerializedTransaction(AieRtControl aieCtl);
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif // AIE_C_TRANSLATION_H
MLIR_CAPI_EXPORTED void aieRtExportSerializedTransaction(AieRtControl aieCtl)
MLIR_CAPI_EXPORTED void aieRtStartTransaction(AieRtControl aieCtl)
MLIR_CAPI_EXPORTED MlirOperation aieTranslateBinaryToTxn(MlirContext ctx, MlirStringRef binary)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToXAIEV2(MlirOperation op, MlirStringRef deviceName)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateNpuToBinary(MlirOperation op, MlirStringRef deviceName, MlirStringRef sequenceName)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateControlPacketsToUI32Vec(MlirOperation op, MlirStringRef deviceName)
MLIR_CAPI_EXPORTED void aieRtDmaUpdateBdAddr(AieRtControl aieCtl, int col, int row, size_t addr, size_t bdId)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateModuleToLLVMIR(MlirOperation op)
MLIR_CAPI_EXPORTED AieRtControl getAieRtControl(AieTargetModel tm)
MLIR_CAPI_EXPORTED MlirLogicalResult aieTranslateToCDODirect(MlirOperation moduleOp, MlirStringRef workDirPath, MlirStringRef deviceName, bool bigEndian, bool emitUnified, bool cdoDebug, bool aieSim, bool xaieDebug, bool enableCores)
MLIR_CAPI_EXPORTED MlirStringRef aieTranslateToBCF(MlirOperation op, int col, int row, MlirStringRef deviceName)
MLIR_CAPI_EXPORTED void freeAieRtControl(AieRtControl aieCtl)
MLIR_CAPI_EXPORTED MlirStringRef aieLLVMLink(MlirStringRef *modules, int nModules)