Skip to content

FPU operator issues #165

@maleadt

Description

@maleadt

While tuning, I encountered a couple of compilation errors that either should be fixed in the kernel, or generate a ConfigError.

GemmKernels.Config{(M = 4096, N = 4096, K = 4096), (M = 16, N = 128, K = 16), 4, (M = 16, K = 8), (M = 4, K = 1), (K = 16, N = 8), (K = 4, N = 1), (M = 16, N = 8), (M = 4, N = 1), (M = 8, N = 64, K = 16), (M = 8, N = 16, K = 16), GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Layout.Zero{Float32}, GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Layout.Padded{GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, 8}, GemmKernels.Layout.Padded{GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, 8}, GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Operator.FPUOp{8, 16, 16, 8, 4, 1, Float32, Float32}, true, true}()

Reason: unsupported call to an unknown function (call to julia.new_gc_frame)
Reason: unsupported call to an unknown function (call to julia.push_gc_frame)
Reason: unsupported dynamic function invocation (call to _totuple_err(T) @ Base tuple.jl:395)
Stacktrace:
 [1] _totuple
   @ ./tuple.jl:418
 [2] Tuple
   @ ./tuple.jl:391
 [3] load_b
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:81
 [4] load_b
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:15
 [5] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [6] matmul_singlestage
   @ ~/Julia/pkg/GemmKernels/src/kernel.jl:97
Reason: unsupported call to an unknown function (call to julia.get_gc_frame_slot)
Reason: unsupported call to an unknown function (call to jl_f__apply_iterate)
Stacktrace:
 [1] _totuple
   @ ./tuple.jl:420
 [2] Tuple
   @ ./tuple.jl:391
 [3] load_b
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:81
 [4] load_b
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:15
 [5] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [6] matmul_singlestage
   @ ~/Julia/pkg/GemmKernels/src/kernel.jl:97
Reason: unsupported dynamic function invocation (call to GemmKernels.Transform.Elementwise{typeof(identity)}(identity))
Stacktrace:
 [1] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [2] matmul_singlestage
   @ ~/Julia/pkg/GemmKernels/src/kernel.jl:97
Reason: unsupported dynamic function invocation (call to setindex)
Stacktrace:
 [1] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [2] matmul_singlestage
   @ ~/Julia/pkg/GemmKernels/src/kernel.jl:97
Reason: unsupported call to an unknown function (call to jl_f__apply_iterate)
Stacktrace:
 [1] setindex
   @ ./tuple.jl:59
 [2] setindex
   @ ~/Julia/pkg/GemmKernels/src/array.jl:41
 [3] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [4] load_b
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:77
 [5] load_b
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:15
 [6] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [7] matmul_singlestage
   @ ~/Julia/pkg/GemmKernels/src/kernel.jl:97
Reason: unsupported call through a literal pointer (call to ijl_alloc_array_1d)
Stacktrace:
  [1] Array
    @ ./boot.jl:475
  [2] _array_for
    @ ./array.jl:720
  [3] _collect
    @ ./array.jl:694
  [4] collect
    @ ./array.jl:692
  [5] _totuple
    @ ./tuple.jl:416
  [6] Tuple
    @ ./tuple.jl:391
  [7] load_b
    @ ~/Julia/pkg/GemmKernels/src/operator.jl:81
  [8] load_b
    @ ~/Julia/pkg/GemmKernels/src/operator.jl:15
  [9] macro expansion
    @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [10] matmul_singlestage
    @ ~/Julia/pkg/GemmKernels/src/kernel.jl:97
Reason: unsupported call to an unknown function (call to julia.pop_gc_frame)

Another:

GemmKernels.Config{(M = 4096, N = 4096, K = 4096), (M = 256, N = 32, K = 32), 8, (M = 128, K = 1), (M = 4, K = 1), (K = 32, N = 4), (K = 4, N = 1), (M = 128, N = 1), (M = 4, N = 1), (M = 64, N = 16, K = 4), (M = 16, N = 16, K = 4), GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Layout.Zero{Float32}, GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Layout.Padded{GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, 8}, GemmKernels.Layout.Padded{GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, 8}, GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Layout.UnsafeAlignedColMajor{Float32}, GemmKernels.Operator.FPUOp{16, 16, 4, 2, 16, 1, Float32, Float32}, true, true}()

Reason: unsupported call to an unknown function (call to julia.new_gc_frame)
Reason: unsupported call to an unknown function (call to julia.push_gc_frame)
Reason: unsupported call through a literal pointer (call to ijl_alloc_array_1d)
Stacktrace:
  [1] Array
    @ ./boot.jl:475
  [2] _array_for
    @ ./array.jl:720
  [3] _collect
    @ ./array.jl:694
  [4] collect
    @ ./array.jl:692
  [5] _totuple
    @ ./tuple.jl:416
  [6] Tuple
    @ ./tuple.jl:391
  [7] load_a
    @ ~/Julia/pkg/GemmKernels/src/operator.jl:64
  [8] load_a
    @ ~/Julia/pkg/GemmKernels/src/operator.jl:15
  [9] macro expansion
    @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [10] matmul_singlestage
    @ ~/Julia/pkg/GemmKernels/src/kernel.jl:89
Reason: unsupported dynamic function invocation (call to _totuple_err(T) @ Base tuple.jl:395)
Stacktrace:
 [1] _totuple
   @ ./tuple.jl:418
 [2] Tuple
   @ ./tuple.jl:391
 [3] load_a
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:64
 [4] load_a
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:15
 [5] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [6] matmul_singlestage
   @ ~/Julia/pkg/GemmKernels/src/kernel.jl:89
Reason: unsupported call to an unknown function (call to julia.get_gc_frame_slot)
Reason: unsupported call to an unknown function (call to jl_f__apply_iterate)
Stacktrace:
 [1] _totuple
   @ ./tuple.jl:420
 [2] Tuple
   @ ./tuple.jl:391
 [3] load_a
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:64
 [4] load_a
   @ ~/Julia/pkg/GemmKernels/src/operator.jl:15
 [5] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [6] matmul_singlestage
   @ ~/Julia/pkg/GemmKernels/src/kernel.jl:89
Reason: unsupported dynamic function invocation (call to GemmKernels.Transform.Elementwise{typeof(identity)}(identity))
Stacktrace:
 [1] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [2] matmul_singlestage
   @ ~/Julia/pkg/GemmKernels/src/kernel.jl:89
Reason: unsupported dynamic function invocation (call to setindex)
Stacktrace:
 [1] macro expansion
   @ ~/Julia/pkg/GemmKernels/src/array.jl:69
 [2] matmul_singlestage
   @ ~/Julia/pkg/GemmKernels/src/kernel.jl:89
Reason: unsupported call to an unknown function (call to julia.pop_gc_frame)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions