alias NTHREADS = 4
fn xyz(A: UnsafePointer[Float32], B: UnsafePointer[Float32], nc:Int):
B.store(nc, A.load(nc))
fn main():
var A = UnsafePointer[Float32].alloc(4)
var B = UnsafePointer[Float32].alloc(4)
for i in range(4):
A[i] = i
B[i] = 1
print("Before:")
print("A:", A.load[width=4](0))
print("B:", B.load[width=4](0))
@parameter
fn parallel_xyz(thread_id: Int):
# print(thread_id)
xyz(A + (thread_id), B + (thread_id), thread_id)
total_items = 4
parallelize[parallel_xyz] (total_items, NTHREADS)
# print("After:")
# print("A:", A.load[width=4](0))
# print("B:", B.load[width=4](0))
alias NTHREADS = 4
fn xyz(A: UnsafePointer[Float32], B: UnsafePointer[Float32], nc:Int):
B.store(nc, A.load(nc))
fn main():
var A = UnsafePointer[Float32].alloc(4)
var B = UnsafePointer[Float32].alloc(4)
for i in range(4):
A[i] = i
B[i] = 1
print("Before:")
print("A:", A.load[width=4](0))
print("B:", B.load[width=4](0))
@parameter
fn parallel_xyz(thread_id: Int):
# print(thread_id)
xyz(A + (thread_id), B + (thread_id), thread_id)
total_items = 4
parallelize[parallel_xyz] (total_items, NTHREADS)
# print("After:")
# print("A:", A.load[width=4](0))
# print("B:", B.load[width=4](0))