Chris Elrod
Chris Elrod
Yes, the integer is a bitfield describing the status of each thread. Regarding supporting >128 threads, it seems like I'll need to add `UInt256` and `UInt512` support, or maybe cap...
Yeah, actually a tuple of `UInt128` would be best. Most computers support 128 bit atomic instructions, and we don't really need more than that to be atomic at a time...
For now, this should fix
> Also, is the leading bit meant to be 0 in the 128 case? The mismatch between `dynamic_thread_count` and the number of threads managed by `WORKERS` seems odd, but I...
Given that 256 threads didn't work locally (on a 10 core/20 thread machine), I'm not optimistic. I'll leave this open until `CheapThreads` supports >128 threads by either switching to 1....
If you want to talk overhead: ```julia julia> @benchmark batch_X1(x) setup=(x=rand(T, 1
You can reset the state via ```julia using Polyester, ThreadingUtilities Polyester.reset_workers!() ThreadingUtilities.reinitialize_tasks!() ```
It is now in `PolyesterWeave.jl`
This is a platform specific problem. Those loops should work on Rosetta. But Polyester implements a workaround (which is why many do work): avoid cfunction closures by not closing in...
> Is this behaviour expected somehow? It's a bug, obviously. But as `@batch` is a macro, it's expected that giving it different expressions could lead to different results. If the...