Skip to content

Commit

Permalink
Allow initialisation of MTLSize with tuples of different integer types (
Browse files Browse the repository at this point in the history
  • Loading branch information
tgymnich authored Sep 24, 2024
1 parent e3d9b32 commit 5628d43
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
6 changes: 3 additions & 3 deletions lib/mtl/size.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ struct MTLSize
end

# convenience constructors from tuple inputs
MTLSize(dims::NTuple{1,<:Integer}) = MTLSize(dims[1], 1, 1)
MTLSize(dims::NTuple{2,<:Integer}) = MTLSize(dims[1], dims[2], 1)
MTLSize(dims::NTuple{3,<:Integer}) = MTLSize(dims[1], dims[2], dims[3])
MTLSize(dims::NTuple{1,Integer}) = MTLSize(dims[1], 1, 1)
MTLSize(dims::NTuple{2,Integer}) = MTLSize(dims[1], dims[2], 1)
MTLSize(dims::NTuple{3,Integer}) = MTLSize(dims[1], dims[2], dims[3])


## origin
Expand Down
4 changes: 4 additions & 0 deletions test/execution.jl
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,17 @@ dummy() = return
@metal threads dummy()
@metal threads=1 dummy()
@metal threads=(1,1) dummy()
@metal threads=(Int32(1),Int64(1)) dummy()
@metal threads=(1,1,1) dummy()
@metal threads=(Int8(1),Int32(1),1) dummy()

groups = 1
@metal groups dummy()
@metal groups=1 dummy()
@metal groups=(1,1) dummy()
@metal groups=(Int32(1),Int64(1)) dummy()
@metal groups=(1,1,1) dummy()
@metal groups=(Int8(1),Int32(1),1) dummy()

@metal macos=Metal.macos_version() dummy()
@metal metal=Metal.metal_support() dummy()
Expand Down

0 comments on commit 5628d43

Please sign in to comment.