提交 f3f9acf1 编写于 作者: M Megvii Engine Team

fix(tree): fix copybara

GitOrigin-RevId: 404721996238ac842fba118f3920713b38600b5b
上级 36fbd5a6
...@@ -466,6 +466,19 @@ def test_topk(): ...@@ -466,6 +466,19 @@ def test_topk():
check_pygraph_dump(fwd, [x], [top, indices]) check_pygraph_dump(fwd, [x], [top, indices])
def test_nvof():
if not is_cuda_available():
return
src_shape = (4, 5, 224, 224, 4)
src = np.random.randint(0, 255, src_shape).astype("uint8")
src = Tensor(src)
@trace(symbolic=True, capture_as_const=True)
def fwd(src):
return F.nn.nvof(src, precision=1)
result = fwd(src)
check_pygraph_dump(fwd, [src], [result])
def test_random(): def test_random():
......
...@@ -290,11 +290,8 @@ ExternCOprRunner::ExternCOprRunner(std::string& name, ...@@ -290,11 +290,8 @@ ExternCOprRunner::ExternCOprRunner(std::string& name,
m_dump_name{name}, m_dump_name{name},
m_param{nullptr} { m_param{nullptr} {
mgb_assert(m_desc->size == sizeof(MGBOprDesc), mgb_assert(m_desc->size == sizeof(MGBOprDesc),
"invalid MGBOprDesc size: expect=%zu got=%u, may caused by " "invalid MGBOprDesc size: expect=%zu got=%u", sizeof(MGBOprDesc),
"extern_c_opr.h mismatch, please confirm that the " m_desc->size);
"extern_c_opr.h used when compiling the loader is consistent "
"with the runtime caller build used",
sizeof(MGBOprDesc), m_desc->size);
for (auto i : inputs) { for (auto i : inputs) {
add_input({i}); add_input({i});
} }
......
add_custom_command(
OUTPUT link_sh
COMMAND ${CMAKE_COMMAND} -E create_symlink
${PROJECT_SOURCE_DIR}/tools/mlir/mgb-file-check/mgb-file-check.sh
${PROJECT_BINARY_DIR}/tools/mlir/mgb-file-check/mgb-file-check
)
add_custom_target(mgb-file-check DEPENDS link_sh)
\ No newline at end of file
#!/bin/bash -e
FileCheck --enable-var-scope --dump-input=fail "$@"
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
set(LIBS
${dialect_libs}
${conversion_libs}
LLVMSupport
MLIROptLib
MLIRIR
MLIRPass
MLIRSupport
)
add_executable(mgb-opt mgb-opt.cpp)
target_include_directories(
mgb-opt
PRIVATE ${MLIR_LLVM_INCLUDE_DIR} ${PROJECT_SOURCE_DIR}/src/jit/include
${PROJECT_BINARY_DIR}/src/jit/include)
add_dependencies(mgb-opt mgb_dialect)
target_link_libraries(mgb-opt PRIVATE ${LIBS} megbrain megdnn ${MGE_CUDA_LIBS})
llvm_update_compile_flags(mgb-opt)
/**
* \file tools/mlir/mgb-opt/mgb-opt.cpp
* MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
*
* Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied.
*/
#include "megbrain/jit/mlir/ir/dialect.h"
#include "megbrain/jit/mlir/ir/passes.h"
#include <llvm/Support/CommandLine.h>
#include <llvm/Support/InitLLVM.h>
#include <llvm/Support/PrettyStackTrace.h>
#include <llvm/Support/SourceMgr.h>
#include <llvm/Support/ToolOutputFile.h>
#include <mlir/Dialect/Affine/IR/AffineOps.h>
#include <mlir/Dialect/LLVMIR/LLVMDialect.h>
#include <mlir/IR/AsmState.h>
#include <mlir/InitAllDialects.h>
#include <mlir/InitAllPasses.h>
#include <mlir/Pass/Pass.h>
#include <mlir/Pass/PassManager.h>
#include <mlir/Support/FileUtilities.h>
#include <mlir/Support/MlirOptMain.h>
using namespace llvm;
using namespace mlir;
//! TODO: Implement a custom MlirOptMain that supports the following flags.
static cl::opt<bool> print_mlir{
"print-mlir",
cl::desc("Prints MLIR IR after translation"),
cl::init(false),
};
static cl::list<std::string> input_values{
"input-value",
cl::desc("Input shapes and optional values"),
cl::ZeroOrMore,
};
static cl::opt<std::string> input_values_file{
"input-value-file",
cl::desc("Provides a file for input shapes and optional values (see "
"ParseToVariantListFromFile in vm_util.h for details)"),
cl::init(""),
};
static cl::opt<bool> run{
"run",
cl::desc("Runs the module (vs. just compiling and verifing)"),
cl::init(true),
};
static cl::list<std::string> run_args{
"run-arg",
cl::desc("Argument passed to the execution flag parser"),
cl::ZeroOrMore,
};
namespace mgb {
namespace jit {
void register_test_mgb_to_affine_lowering_pass();
void register_test_affine_to_llvm_lowering_pass();
} // namespace jit
} // namespace mgb
int main(int argc, char** argv) {
mlir::registerAllPasses();
mlir::DialectRegistry registry;
mlir::registerAllDialects(registry);
registry.insert<mgb::jit::MgbDialect>();
mgb::jit::register_test_mgb_to_affine_lowering_pass();
mgb::jit::register_test_affine_to_llvm_lowering_pass();
return failed(MlirOptMain(argc, argv, "MLIR modular optimizer driver", registry));
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册