Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions challenges/easy/19_reverse_array/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn reverse_array_kernel(input: UnsafePointer[Float32, MutExternalOrigin], N: Int32):
def reverse_array_kernel(input: UnsafePointer[Float32, MutExternalOrigin], N: Int32):
pass


# input is a device pointer (i.e. pointer to memory on the GPU)
@export
fn solve(input: UnsafePointer[Float32, MutExternalOrigin], N: Int32) raises:
def solve(input: UnsafePointer[Float32, MutExternalOrigin], N: Int32) raises:
var threadsPerBlock: Int32 = 256
var ctx = DeviceContext()

Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/1_vector_add/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn vector_add_kernel(
def vector_add_kernel(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
C: UnsafePointer[Float32, MutExternalOrigin],
Expand All @@ -15,7 +15,7 @@ fn vector_add_kernel(

# A, B, C are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
C: UnsafePointer[Float32, MutExternalOrigin],
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/21_relu/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn relu_kernel(
def relu_kernel(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand All @@ -14,7 +14,7 @@ fn relu_kernel(

# input, output are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/23_leaky_relu/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn leaky_relu_kernel(
def leaky_relu_kernel(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand All @@ -14,7 +14,7 @@ fn leaky_relu_kernel(

# input, output are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand Down
6 changes: 3 additions & 3 deletions challenges/easy/24_rainbow_table/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn fnv1a_hash(input: Int32) -> UInt32:
def fnv1a_hash(input: Int32) -> UInt32:
alias FNV_PRIME: UInt32 = 16777619
alias OFFSET_BASIS: UInt32 = 2166136261

Expand All @@ -17,7 +17,7 @@ fn fnv1a_hash(input: Int32) -> UInt32:
return hash


fn fnv1a_hash_kernel(
def fnv1a_hash_kernel(
input: UnsafePointer[Int32, MutExternalOrigin],
output: UnsafePointer[UInt32, MutExternalOrigin],
N: Int32,
Expand All @@ -28,7 +28,7 @@ fn fnv1a_hash_kernel(

# input, output are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
input: UnsafePointer[Int32, MutExternalOrigin],
output: UnsafePointer[UInt32, MutExternalOrigin],
N: Int32,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn matrix_multiplication_kernel(
def matrix_multiplication_kernel(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
C: UnsafePointer[Float32, MutExternalOrigin],
Expand All @@ -17,7 +17,7 @@ fn matrix_multiplication_kernel(

# A, B, C are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
C: UnsafePointer[Float32, MutExternalOrigin],
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/31_matrix_copy/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn copy_matrix_kernel(
def copy_matrix_kernel(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand All @@ -14,7 +14,7 @@ fn copy_matrix_kernel(

# A, B are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/3_matrix_transpose/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn matrix_transpose_kernel(
def matrix_transpose_kernel(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
rows: Int32,
Expand All @@ -15,7 +15,7 @@ fn matrix_transpose_kernel(

# input, output are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
rows: Int32,
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/52_silu/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn silu_kernel(
def silu_kernel(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand All @@ -14,7 +14,7 @@ fn silu_kernel(

# input, output are device pointers
@export
fn solve(
def solve(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/54_swiglu/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn swiglu_kernel(
def swiglu_kernel(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand All @@ -14,7 +14,7 @@ fn swiglu_kernel(

# input, output are device pointers
@export
fn solve(
def solve(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/62_value_clipping/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn clip_kernel(
def clip_kernel(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
lo: Float32,
Expand All @@ -16,7 +16,7 @@ fn clip_kernel(

# input, output are device pointers
@export
fn solve(
def solve(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
lo: Float32,
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/63_interleave/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn interleave_kernel(
def interleave_kernel(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
Expand All @@ -15,7 +15,7 @@ fn interleave_kernel(

# A, B, output are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/65_geglu/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn geglu_kernel(
def geglu_kernel(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand All @@ -14,7 +14,7 @@ fn geglu_kernel(

# input, output are device pointers
@export
fn solve(
def solve(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/66_rgb_to_grayscale/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn rgb_to_grayscale_kernel(
def rgb_to_grayscale_kernel(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
width: Int32,
Expand All @@ -15,7 +15,7 @@ fn rgb_to_grayscale_kernel(

# input, output are device pointers
@export
fn solve(
def solve(
input: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
width: Int32,
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/68_sigmoid/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn sigmoid_kernel(
def sigmoid_kernel(
X: UnsafePointer[Float32, MutExternalOrigin],
Y: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand All @@ -14,7 +14,7 @@ fn sigmoid_kernel(

# X, Y are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
X: UnsafePointer[Float32, MutExternalOrigin],
Y: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/7_color_inversion/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn invert_kernel(image: UnsafePointer[UInt8, MutExternalOrigin], width: Int32, height: Int32):
def invert_kernel(image: UnsafePointer[UInt8, MutExternalOrigin], width: Int32, height: Int32):
pass


# image is a device pointer (i.e. pointer to memory on the GPU)
@export
fn solve(image: UnsafePointer[UInt8, MutExternalOrigin], width: Int32, height: Int32) raises:
def solve(image: UnsafePointer[UInt8, MutExternalOrigin], width: Int32, height: Int32) raises:
var threadsPerBlock: Int32 = 256
var ctx = DeviceContext()

Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/8_matrix_addition/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn matrix_add_kernel(
def matrix_add_kernel(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
C: UnsafePointer[Float32, MutExternalOrigin],
Expand All @@ -15,7 +15,7 @@ fn matrix_add_kernel(

# A, B, C are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
A: UnsafePointer[Float32, MutExternalOrigin],
B: UnsafePointer[Float32, MutExternalOrigin],
C: UnsafePointer[Float32, MutExternalOrigin],
Expand Down
4 changes: 2 additions & 2 deletions challenges/easy/9_1d_convolution/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ from std.memory import UnsafePointer
from std.math import ceildiv


fn convolution_1d_kernel(
def convolution_1d_kernel(
input: UnsafePointer[Float32, MutExternalOrigin],
kernel: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
Expand All @@ -16,7 +16,7 @@ fn convolution_1d_kernel(

# input, kernel, output are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
input: UnsafePointer[Float32, MutExternalOrigin],
kernel: UnsafePointer[Float32, MutExternalOrigin],
output: UnsafePointer[Float32, MutExternalOrigin],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ from std.math import ceildiv


@export
fn solve(
def solve(
Q: UnsafePointer[Float32, MutExternalOrigin],
K: UnsafePointer[Float32, MutExternalOrigin],
V: UnsafePointer[Float32, MutExternalOrigin],
Expand Down
2 changes: 1 addition & 1 deletion challenges/hard/14_multi_agent_sim/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ from std.math import ceildiv


@export
fn solve(
def solve(
agents: UnsafePointer[Float32, MutExternalOrigin],
agents_next: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand Down
2 changes: 1 addition & 1 deletion challenges/hard/15_sorting/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ from std.math import ceildiv


@export
fn solve(data: UnsafePointer[Float32, MutExternalOrigin], N: Int32) raises:
def solve(data: UnsafePointer[Float32, MutExternalOrigin], N: Int32) raises:
pass
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ from std.math import ceildiv


@export
fn solve(
def solve(
data_x: UnsafePointer[Float32, MutExternalOrigin],
data_y: UnsafePointer[Float32, MutExternalOrigin],
labels: UnsafePointer[Int32, MutExternalOrigin],
Expand Down
2 changes: 1 addition & 1 deletion challenges/hard/36_radix_sort/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ from std.memory import UnsafePointer

# input, output are device pointers
@export
fn solve(
def solve(
input: UnsafePointer[UInt32, MutExternalOrigin],
output: UnsafePointer[UInt32, MutExternalOrigin],
N: Int32,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ from std.math import ceildiv

# signal and spectrum are device pointers
@export
fn solve(
def solve(
signal: UnsafePointer[Float32, MutExternalOrigin],
spectrum: UnsafePointer[Float32, MutExternalOrigin],
N: Int32,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ from std.memory import UnsafePointer

# grid, result are device pointers
@export
fn solve(
def solve(
grid: UnsafePointer[Int32, MutExternalOrigin],
result: UnsafePointer[Int32, MutExternalOrigin],
rows: Int32,
Expand Down
2 changes: 1 addition & 1 deletion challenges/hard/53_casual_attention/starter/starter.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ from std.math import ceildiv

# Q, K, V, output are device pointers (i.e. pointers to memory on the GPU)
@export
fn solve(
def solve(
Q: UnsafePointer[Float32, MutExternalOrigin],
K: UnsafePointer[Float32, MutExternalOrigin],
V: UnsafePointer[Float32, MutExternalOrigin],
Expand Down
Loading
Loading