[PYTHON][EINSUM] Added support for FP16

This commit is contained in:
Philippe Tillet
2019-10-28 11:33:18 -04:00
parent 0ec213547c
commit e9c787ef05
13 changed files with 97 additions and 83 deletions

View File

@@ -314,11 +314,11 @@ layout_shared_t::layout_shared_t(const layout_t *arg,
// padding
pad = 0;
if(hmma_dot_a){
bool row = is_trans(hmma_dot_a) ^ order[0] == 1;
bool row = is_trans(hmma_dot_a) ^ order[0] != 0;
pad = 24 - shapes[row ? order[0] : order[1]] % 32;
}
else if(hmma_dot_b){
bool row = is_trans(hmma_dot_b) ^ order[0] == 1;
bool row = is_trans(hmma_dot_b) ^ order[0] != 0;
pad = 24 - shapes[row ? order[1] : order[0]] % 32;
}
else if(order != arg->order) {

View File

@@ -560,9 +560,8 @@ void generator::visit_hmma_dot(ir::dot_inst* dot, shared_tile *TA, shared_tile *
bool is_a_trans = is_trans(dot->get_operand(0));
bool is_b_trans = is_trans(dot->get_operand(1));
bool is_a_row = is_a_trans ^ (ord_a[0] == 1);
bool is_b_row = is_b_trans ^ (ord_b[0] == 1);
bool is_a_row = is_a_trans ^ (ord_a[0] != 0);
bool is_b_row = is_b_trans ^ (ord_b[0] != 0);
Value *offset_a_i = hmma->offset_a_i_;
Value *offset_a_k = hmma->offset_a_k_;