From 26972b2d3d4610343a48e44b99c0df27436201b3 Mon Sep 17 00:00:00 2001 From: Jason Lowe Date: Fri, 4 Feb 2022 15:48:09 -0600 Subject: [PATCH 1/2] Add FAQ entry to discuss executor task concurrency configuration Signed-off-by: Jason Lowe --- docs/FAQ.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/FAQ.md b/docs/FAQ.md index 802a5dd42c7..e2707232c23 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -336,6 +336,20 @@ the I/O and starting the initial processing can suffer. But if you have a lot o cannot be done on the GPU, like complex UDFs, the more tasks you have the more CPU processing you can throw at it. +### How are `spark.executor.cores`, `spark.task.resource.gpu.amount`, and `spark.rapids.sql.concurrentGpuTasks` related? + +The `spark.executor.cores` and `spark.task.resource.gpu.amount` configuration settings are inputs +to the Spark task scheduler and control the maximum number of tasks that can execute concurrently +on an executor, regardless of whether they are running CPU or GPU code at any point in time. See +the [Number of Tasks per Executor](tuning-guide.md#number-of-tasks-per-executor) section in the +tuning guide for more details. + +The `spark.rapids.sql.concurrentGpuTasks` configuration setting is specific to the RAPIDS +Accelerator and further limits the number of concurrent tasks that are _actively_ running code on +the GPU or using GPU memory at any point in time. See the +[Number of Concurrent Tasks per GPU](tuning-guide.md#number-of-concurrent-tasks-per-gpu) section +of the tuning guide for more details. + ### Why are multiple GPUs per executor not supported? The RAPIDS Accelerator only supports a single GPU per executor because that was a limitation of From 0cd2243fa5f293efe532fc66234e39d125262996 Mon Sep 17 00:00:00 2001 From: Jason Lowe Date: Mon, 7 Feb 2022 08:10:20 -0600 Subject: [PATCH 2/2] Update docs/FAQ.md Co-authored-by: Sameer Raheja --- docs/FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index e2707232c23..def0ea6887c 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -339,7 +339,7 @@ can throw at it. ### How are `spark.executor.cores`, `spark.task.resource.gpu.amount`, and `spark.rapids.sql.concurrentGpuTasks` related? The `spark.executor.cores` and `spark.task.resource.gpu.amount` configuration settings are inputs -to the Spark task scheduler and control the maximum number of tasks that can execute concurrently +to the Spark task scheduler and control the maximum number of tasks that can be run concurrently on an executor, regardless of whether they are running CPU or GPU code at any point in time. See the [Number of Tasks per Executor](tuning-guide.md#number-of-tasks-per-executor) section in the tuning guide for more details.