set algorithms (UNTESTED), use std::atomic with cached state in slice and stride views to avoid race conditions