Quicksort with dynamic parallelism