Deprecation of Triton-C and Replacement by decorated Python functions (#86)
This PR implements a major overhaul of the frontend for Triton, and replaces Triton-C by a pure Python API in which kernels are defined as @triton.jit decorated functions. The documentation and tutorials have also been updated to accommodate these changes. See documentations for more information on the new API
This commit is contained in:
committed by
Philippe Tillet
parent
1fdb465b71
commit
39f4730305
@@ -10,8 +10,8 @@ namespace triton{
|
||||
namespace ir{
|
||||
|
||||
/* Module */
|
||||
module::module(const std::string &name)
|
||||
: name_(name), builder_(context_) {
|
||||
module::module(const std::string &name, builder &builder)
|
||||
: name_(name), builder_(builder) {
|
||||
sealed_blocks_.insert(nullptr);
|
||||
}
|
||||
|
||||
@@ -19,10 +19,6 @@ ir::builder& module::get_builder() {
|
||||
return builder_;
|
||||
}
|
||||
|
||||
ir::context& module::get_context() {
|
||||
return context_;
|
||||
}
|
||||
|
||||
void module::set_value(const std::string& name, ir::basic_block *block, ir::value *value){
|
||||
values_[val_key_t{name, block}] = value;
|
||||
auto it = metadatas_.find(name);
|
||||
@@ -98,7 +94,7 @@ ir::value *module::get_value_recursive(const std::string& name, ir::basic_block
|
||||
ir::value *result;
|
||||
bool is_const = const_.find(name) != const_.end();
|
||||
auto &preds = block->get_predecessors();
|
||||
ir::type *ty = get_scope().types.at(name);
|
||||
ir::type *ty = get_scope().get_type(name);
|
||||
if(block && !is_const && sealed_blocks_.find(block) == sealed_blocks_.end()){
|
||||
incomplete_phis_[block][name] = make_phi(ty, 1, block);
|
||||
result = (ir::value*)incomplete_phis_[block][name];
|
||||
|
Reference in New Issue
Block a user