Skip to content

Commit f6110b9

Browse files
authored
Polyester -> PolyesterWeave; closes #113 (#114)
* Polyester -> PolyesterWeave; closes #113 * Bump version
1 parent ead8fbb commit f6110b9

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

Project.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
name = "Octavian"
22
uuid = "6fd5a793-0b7e-452c-907f-f8bfe9c57db4"
33
authors = ["Mason Protter", "Chris Elrod", "Dilum Aluthge", "contributors"]
4-
version = "0.3.2"
4+
version = "0.3.3"
55

66
[deps]
77
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
88
IfElse = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173"
99
LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890"
1010
ManualMemory = "d125e4d3-2237-4719-b19c-fa641b8a4667"
11-
Polyester = "f517fe37-dbe3-4b94-8317-1923a5111588"
11+
PolyesterWeave = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad"
1212
Static = "aedffcd0-7271-4cad-89d0-dc628f76c6d3"
1313
ThreadingUtilities = "8290d209-cae3-49c0-8002-c8c24d57dab5"
1414
VectorizationBase = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f"
@@ -18,7 +18,7 @@ ArrayInterface = "3.1.14"
1818
IfElse = "0.1"
1919
LoopVectorization = "0.12.34"
2020
ManualMemory = "0.1.1"
21-
Polyester = "0.4"
21+
PolyesterWeave = "0.1"
2222
Static = "0.2, 0.3"
2323
ThreadingUtilities = "0.4.6"
2424
VectorizationBase = "0.21.5"

src/Octavian.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ using VectorizationBase: align, AbstractStridedPointer, zstridedpointer, vsub_ns
88
using LoopVectorization: preserve_buffer, CloseOpen, UpperBoundedInteger
99
using ArrayInterface: size, strides, offsets, indices, axes, StrideIndex
1010
using IfElse: ifelse
11-
using Polyester
11+
using PolyesterWeave
1212
using Static: StaticInt, Zero, One, StaticBool, True, False, gt, eq, StaticFloat64,
1313
roundtostaticint, floortostaticint
1414
using ManualMemory: MemoryBuffer, load, store!

src/matmul.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -308,20 +308,20 @@ function matmulsplitn!(C::AbstractStridedPointer{T}, A, B, α, β, ::StaticInt{M
308308
_nspawn = Mblocks * Nblocks
309309
Mbsize_Mrem, Mbsize_ = promote(Mbsize + W, Mbsize)
310310
Nbsize_Nrem, Nbsize_ = promote(Nbsize + One(), Nbsize)
311-
(tnum, tuu) = Polyester.initial_state(threads)
311+
(tnum, tuu) = PolyesterWeave.initial_state(threads)
312312
let _A = A, _B = B, _C = C, n = 0, Nrc = Nblocks - Nrem, Mrc = Mblocks - Mrem, __Mblocks = Mblocks - One()
313313
while true
314314
nsize = ifelse(Nblocks > Nrc, Nbsize_Nrem, Nbsize_); Nblocks -= 1
315315
let _A = _A, _C = _C, __Mblocks = __Mblocks
316316
while __Mblocks != 0
317317
msize = ifelse(__Mblocks Mrc, Mbsize_Mrem, Mbsize_); __Mblocks -= 1
318-
(tnum, tuu) = Polyester.iter(tnum, tuu)
318+
(tnum, tuu) = PolyesterWeave.iter(tnum, tuu)
319319
launch_thread_mul!(_C, _A, _B, α, β, msize, K, nsize, tnum, Val{PACK}())
320320
_A = gesp(_A, (msize, Zero()))
321321
_C = gesp(_C, (msize, Zero()))
322322
end
323323
if Nblocks != 0
324-
(tnum, tuu) = Polyester.iter(tnum, tuu)
324+
(tnum, tuu) = PolyesterWeave.iter(tnum, tuu)
325325
launch_thread_mul!(_C, _A, _B, α, β, Mremfinal, K, nsize, tnum, Val{PACK}())
326326
else
327327
call_loopmul!(_C, _A, _B, α, β, Mremfinal, K, nsize, Val{PACK}())
@@ -360,8 +360,8 @@ function __matmul!(
360360
clamp(div_fast(M * N, StaticInt{256}() * W), 0, _nthread-1)
361361
end
362362
# nkern = cld_fast(M * N, MᵣW * Nᵣ)
363-
threads, torelease = Polyester.__request_threads(_nrequest % UInt32, Polyester.worker_pointer())
364-
# _threads, _torelease = Polyester.request_threads(Threads.threadid()%UInt32, _nrequest)
363+
threads, torelease = PolyesterWeave.__request_threads(_nrequest % UInt32, PolyesterWeave.worker_pointer())
364+
# _threads, _torelease = PolyesterWeave.request_threads(Threads.threadid()%UInt32, _nrequest)
365365

366366
nrequest = threads.i
367367
iszero(nrequest) && @goto SINGLETHREAD
@@ -388,7 +388,7 @@ function __matmul!(
388388
else # TODO: Allow splitting along `N` for `matmul_pack_A_and_B!`
389389
matmul_pack_A_and_B!(C, A, B, α, β, M, K, N, threads, W₁Default(), W₂Default(), R₁Default(), R₂Default())
390390
end
391-
Polyester.free_threads!(torelease)
391+
PolyesterWeave.free_threads!(torelease)
392392
nothing
393393
end
394394

@@ -398,9 +398,9 @@ function waitonmultasks(threads, nthread)
398398
# for (_,tid) ∈ threads
399399
# wait(tid)
400400
# end
401-
(tnum, tuu) = Polyester.initial_state(threads)
401+
(tnum, tuu) = PolyesterWeave.initial_state(threads)
402402
for _ CloseOpen(One(), nthread)
403-
(tnum, tuu) = Polyester.iter(tnum, tuu)
403+
(tnum, tuu) = PolyesterWeave.iter(tnum, tuu)
404404
wait(tnum)
405405
end
406406
end
@@ -423,13 +423,13 @@ function matmul_pack_A_and_B!(
423423
end
424424
Mblock_Mrem, Mblock_ = promote(Mbsize + W, Mbsize)
425425
u_to_spawn = _to_spawn % UInt
426-
(tnum, tuu) = Polyester.initial_state(threads)
426+
(tnum, tuu) = PolyesterWeave.initial_state(threads)
427427
bc = _use_bcache()
428428
bc_ptr = Base.unsafe_convert(typeof(pointer(C)), pointer(bc))
429429
last_id = _to_spawn - One()
430430
for m CloseOpen(last_id) # ...thus the fact that `CloseOpen()` iterates at least once is okay.
431431
Mblock = ifelse(m < Mrem, Mblock_Mrem, Mblock_)
432-
(tnum, tuu) = Polyester.iter(tnum, tuu)
432+
(tnum, tuu) = PolyesterWeave.iter(tnum, tuu)
433433
launch_thread_mul!(C, A, B, α, β, Mblock, K, N, p, bc_ptr, tnum, m % UInt, u_to_spawn, StaticFloat64{W₁}(),StaticFloat64{W₂}(),StaticFloat64{R₁}(),StaticFloat64{R₂}())
434434
A = gesp(A, (Mblock, Zero()))
435435
C = gesp(C, (Mblock, Zero()))

test/matmul_coverage.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ function matmul_pack_ab!(C, A, B)
88
nspawn = min(Threads.nthreads(), Octavian.num_cores())
99
GC.@preserve C A B begin
1010
if nspawn > 1
11-
threads, torelease = Octavian.Polyester.__request_threads((nspawn-1)%UInt32, Octavian.Polyester.worker_pointer())
11+
threads, torelease = Octavian.PolyesterWeave.__request_threads((nspawn-1)%UInt32, Octavian.PolyesterWeave.worker_pointer())
1212
@assert threads.i < Threads.nthreads()
1313
Octavian.matmul_pack_A_and_B!(
1414
zc, za, zb, Octavian.StaticInt{1}(), Octavian.StaticInt{0}(), M, K, N, threads,
1515
Octavian.W₁Default(), Octavian.W₂Default(), Octavian.R₁Default(), Octavian.R₂Default()
1616
)
17-
Octavian.Polyester.free_threads!(torelease)
17+
Octavian.PolyesterWeave.free_threads!(torelease)
1818
else
1919
Octavian.matmul_st_pack_A_and_B!(
2020
zc, za, zb, Octavian.StaticInt{1}(), Octavian.StaticInt{0}(), M, K, N,

0 commit comments

Comments
 (0)