forked from neo-ai/tvm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[VM] Minor refactor for C++ memory alloc (apache#7413)
* started moving things to header * directly call InvokeTVMOp * done all memory op * also refactor AllocTensor * declare Prod * remove cached func for Add, Multiply, Divide * lint fix * revert test change * remove tensor.h and declare Prod in pattern_utils.h
- Loading branch information
Showing
9 changed files
with
200 additions
and
166 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one | ||
* or more contributor license agreements. See the NOTICE file | ||
* distributed with this work for additional information | ||
* regarding copyright ownership. The ASF licenses this file | ||
* to you under the Apache License, Version 2.0 (the | ||
* "License"); you may not use this file except in compliance | ||
* with the License. You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, | ||
* software distributed under the License is distributed on an | ||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
* KIND, either express or implied. See the License for the | ||
* specific language governing permissions and limitations | ||
* under the License. | ||
*/ | ||
|
||
/*! | ||
* \file src/relay/op/memory/memory.h | ||
* \brief Operators for memory related operations in Relay. | ||
*/ | ||
|
||
#ifndef TVM_RELAY_OP_MEMORY_MEMORY_H_ | ||
#define TVM_RELAY_OP_MEMORY_MEMORY_H_ | ||
|
||
#include <vector> | ||
|
||
#include "tvm/relay/expr.h" | ||
|
||
namespace tvm { | ||
namespace relay { | ||
|
||
Expr AllocStorage(Expr size, Expr alignment, TVMContext ctx, DataType dtype_hint); | ||
Expr DeviceCopy(Expr data, int src_dev_type, int dst_dev_type); | ||
Expr AllocTensor(Expr storage, Expr offset, tvm::relay::Expr shape, DataType dtype, | ||
Array<IndexExpr> assert_shape); | ||
Expr ToTupleType(const Type& ty, const std::vector<Expr>& exprs); | ||
std::vector<Expr> FromTupleType(const Type& type, const Expr& expr); | ||
std::vector<TensorType> FlattenTupleType(const Type& type); | ||
|
||
} // namespace relay | ||
} // namespace tvm | ||
|
||
#endif // TVM_RELAY_OP_MEMORY_MEMORY_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
/* | ||
* Licensed to the Apache Software Foundation (ASF) under one | ||
* or more contributor license agreements. See the NOTICE file | ||
* distributed with this work for additional information | ||
* regarding copyright ownership. The ASF licenses this file | ||
* to you under the Apache License, Version 2.0 (the | ||
* "License"); you may not use this file except in compliance | ||
* with the License. You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, | ||
* software distributed under the License is distributed on an | ||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
* KIND, either express or implied. See the License for the | ||
* specific language governing permissions and limitations | ||
* under the License. | ||
*/ | ||
|
||
/*! | ||
* \file src/relay/op/vm/vm.h | ||
* \brief Dialect operators for Relay VM. | ||
*/ | ||
#ifndef TVM_RELAY_OP_VM_VM_H_ | ||
#define TVM_RELAY_OP_VM_VM_H_ | ||
|
||
#include "tvm/relay/expr.h" | ||
|
||
namespace tvm { | ||
namespace relay { | ||
|
||
Expr InvokeTVMOp(Expr func, Expr inputs, Expr outputs); | ||
Expr ShapeFunc(Expr func, Expr inputs, Expr outputs, Array<tvm::Integer> is_input); | ||
Expr ShapeOf(Expr expr); | ||
Expr ReshapeTensor(Expr data, Expr shape, Array<PrimExpr> newshape); | ||
|
||
} // namespace relay | ||
} // namespace tvm | ||
|
||
#endif // TVM_RELAY_OP_VM_VM_H_ |
Oops, something went wrong.