Skip to content

Instantly share code, notes, and snippets.

View pashu123's full-sized avatar
๐Ÿ˜‡
Working from home

Prashant Kumar pashu123

๐Ÿ˜‡
Working from home
View GitHub Profile
This file has been truncated, but you can view the full file.
// -----// IR Dump After ConvertToSPIRV Failed (iree-convert-to-spirv) //----- //
module attributes {spirv.target_env = #spirv.target_env<#spirv.vce<v1.6, [Shader, Float64, Float16, Int64, Int16, Int8, StorageBuffer16BitAccess, StorageUniform16, StoragePushConstant16, StorageBuffer8BitAccess, UniformAndStorageBuffer8BitAccess, StoragePushConstant8, GroupNonUniform, GroupNonUniformVote, GroupNonUniformArithmetic, GroupNonUniformBallot, GroupNonUniformShuffle, GroupNonUniformShuffleRelative, GroupNonUniformClustered, GroupNonUniformQuad, VariablePointers, VariablePointersStorageBuffer], [SPV_KHR_16bit_storage, SPV_KHR_8bit_storage, SPV_KHR_storage_buffer_storage_class, SPV_KHR_variable_pointers]>, api=Vulkan, AMD:DiscreteGPU, #spirv.resource_limits<max_compute_shared_memory_size = 65536, max_compute_workgroup_invocations = 1024, max_compute_workgroup_size = [1024, 1024, 1024], subgroup_size = 64, min_subgroup_size = 32, max_subgroup_size = 64, cooperative_matrix_properties_nv = []>>} {
spirv.GlobalVariable @_
#map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
module attributes {torch.debug_module_name = "_lambda"} {
func.func @forward(%arg0: tensor<10x4096x64xf16>, %arg1: tensor<10x64x4096xf16>) -> tensor<10x4096x4096xf16> {
%cst = arith.constant 0.000000e+00 : f16
%cst_0 = arith.constant 1.250000e-01 : f16
%0 = tensor.empty() : tensor<10x4096x4096xf16>
%1 = linalg.fill ins(%cst : f16) outs(%0 : tensor<10x4096x4096xf16>) -> tensor<10x4096x4096xf16>
%2 = linalg.batch_matmul ins(%arg0, %arg1 : tensor<10x4096x64xf16>, tensor<10x64x4096xf16>) outs(%1 : tensor<10x4096x4096xf16>) -> tensor<10x4096x4096xf16>
%3 = linalg.generic {indexing_maps = [#map, #map], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2 : tensor<10x4096x4096xf16>) outs(%0 : tensor<10x4096x4096xf16>) {
^bb0(%in: f16, %out: f16):
// -----// IR Dump Before IREEImportPublic (iree-import-public) //----- //
#loc2 = loc("/home/prashant/test.mlir":3:22)
#loc3 = loc("/home/prashant/test.mlir":3:53)
#loc10 = loc("/home/prashant/test.mlir":10:10)
#loc11 = loc("/home/prashant/test.mlir":10:20)
#loc15 = loc("/home/prashant/test.mlir":15:10)
#loc16 = loc("/home/prashant/test.mlir":15:20)
#loc17 = loc("/home/prashant/test.mlir":15:32)
#map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
module attributes {torch.debug_module_name = "_lambda"} {
// -----// IR Dump Before IREEImportPublic (iree-import-public) //----- //
#loc2 = loc("/home/prashant/test.mlir":3:22)
#loc3 = loc("/home/prashant/test.mlir":3:53)
#loc10 = loc("/home/prashant/test.mlir":10:10)
#loc11 = loc("/home/prashant/test.mlir":10:20)
#loc15 = loc("/home/prashant/test.mlir":15:10)
#loc16 = loc("/home/prashant/test.mlir":15:20)
#loc17 = loc("/home/prashant/test.mlir":15:32)
#map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
module attributes {torch.debug_module_name = "_lambda"} {
#map = affine_map<(d0, d1, d2, d3) -> (d1)>
#map1 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)>
#map2 = affine_map<(d0, d1, d2, d3) -> (0, d1, d2, d3)>
#map3 = affine_map<(d0, d1, d2, d3) -> (d0, d1, 0, 0)>
#map4 = affine_map<(d0, d1, d2, d3) -> (0, d1, 0, 0)>
#map5 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
#map6 = affine_map<(d0, d1, d2) -> (d0, d2, d1)>
#map7 = affine_map<(d0, d1) -> (d0, d1)>
#map8 = affine_map<(d0, d1) -> (d1, d0)>
#map9 = affine_map<(d0, d1, d2) -> (0, d1, d2)>
# Lint as: python3
"""SHARK Importer"""
import sys
import tempfile
import os
# List of the supported frontends.
supported_frontends = {
"tensorflow",
graph():
%arg0_1 : [#users=1] = placeholder[target=arg0_1]
%arg1_1 : [#users=1] = placeholder[target=arg1_1]
%arg2_1 : [#users=52] = placeholder[target=arg2_1]
%arg3_1 : [#users=1] = placeholder[target=arg3_1]
%expand : [#users=1] = call_function[target=torch.ops.aten.expand](args = (%arg1_1, [2]), kwargs = {})
%arange : [#users=1] = call_function[target=torch.ops.aten.arange](args = (0, 128), kwargs = {dtype: torch.float32, device: cuda:0, pin_memory: False})
%mul : [#users=1] = call_function[target=torch.ops.aten.mul](args = (%arange, -9.210340371976184), kwargs = {})
%div : [#users=1] = call_function[target=torch.ops.aten.div](args = (%mul, 128), kwargs = {})
%exp : [#users=1] = call_function[target=torch.ops.aten.exp](args = (%div,), kwargs = {})
graph():
%arg0_1 : [#users=1] = placeholder[target=arg0_1]
%arg1_1 : [#users=1] = placeholder[target=arg1_1]
%arg2_1 : [#users=32] = placeholder[target=arg2_1]
%arg3_1 : [#users=1] = placeholder[target=arg3_1]
%cat : [#users=1] = call_function[target=torch.ops.aten.cat](args = ([%arg0_1, %arg0_1],), kwargs = {})
%expand : [#users=1] = call_function[target=torch.ops.aten.expand](args = (%arg1_1, [2]), kwargs = {})
%arange : [#users=1] = call_function[target=torch.ops.aten.arange](args = (0, 160), kwargs = {dtype: torch.float16, device: cpu, pin_memory: False})
%mul : [#users=1] = call_function[target=torch.ops.aten.mul](args = (%arange, -9.210340371976184), kwargs = {})
%div : [#users=1] = call_function[target=torch.ops.aten.div](args = (%mul, 160), kwargs = {})
graph():
%arg0_1 : [#users=1] = placeholder[target=arg0_1]
%arg1_1 : [#users=1] = placeholder[target=arg1_1]
%arg2_1 : [#users=32] = placeholder[target=arg2_1]
%arg3_1 : [#users=1] = placeholder[target=arg3_1]
%cat : [#users=1] = call_function[target=torch.ops.aten.cat](args = ([%arg0_1, %arg0_1],), kwargs = {})
%expand : [#users=1] = call_function[target=torch.ops.aten.expand](args = (%arg1_1, [2]), kwargs = {})
%arange : [#users=1] = call_function[target=torch.ops.aten.arange](args = (0, 160), kwargs = {dtype: torch.float32, device: cuda:0, pin_memory: False})
%mul : [#users=1] = call_function[target=torch.ops.aten.mul](args = (%arange, -9.210340371976184), kwargs = {})
%div : [#users=1] = call_function[target=torch.ops.aten.div](args = (%mul, 160), kwargs = {})
graph():
%arg0_1 : [#users=1] = placeholder[target=arg0_1]
%mul : [#users=1] = call_function[target=torch.ops.aten.mul](args = (%arg0_1, 5.489980785067252), kwargs = {})
%_param_constant0 : [#users=1] = get_attr[target=_param_constant0]
%_param_constant1 : [#users=1] = get_attr[target=_param_constant1]
%convolution : [#users=1] = call_function[target=torch.ops.aten.convolution](args = (%mul, %_param_constant0, %_param_constant1, [1, 1], [0, 0], [1, 1], False, [0, 0], 1), kwargs = {})
%_param_constant2 : [#users=1] = get_attr[target=_param_constant2]
%_param_constant3 : [#users=1] = get_attr[target=_param_constant3]
%convolution_1 : [#users=2] = call_function[target=torch.ops.aten.convolution](args = (%convolution, %_param_constant2, %_param_constant3, [1, 1], [1, 1], [1, 1], False, [0, 0], 1), kwargs = {})
%view : [#users=2] = call_function[target=torch.ops.aten.view](args = (%convolution_1, [1, 32, 16, 4096]), kwargs = {})