|
I'm probably missing something but..
However when I try to run the following command, it just hangs (without the amount/task.cpus etc, it runs just fine): Thanks. |
Replies: 5 comments
|
you are running local mode, Spark doesn't support GPU scheduling in local mode. Remove all the "*resource.gpu*" configs. You can still use the GPU you just can't ask Spark to schedule it. |
|
The Spark scheduler is hanging because it cannot allocate the required resources for the executor. The configs are asking for each executor to have a GPU and each task to have 1/4 of a GPU, but no configs were specified on how Spark could locate any GPUs (i.e.: a GPU resource discovery script). See the Apache Spark documentation on custom resource scheduling for details. If you only have one GPU then since you're running in local mode I would recommend removing the |
|
Thank you! Should I only leave the concurrentGpuTasks and it would be suffice for concurrent threads? I believe I do see concurrency in the profiler that way |
|
Yes, those configs still apply in local mode and will affect how tasks are scheduled. Whether 4 is a good value for the concurrent GPU tasks setting highly depends on the query you're running and the amount of GPU memory available. |
|
@eyalhir74 do you have further questions on this topic or can this issue be closed? |
The Spark scheduler is hanging because it cannot allocate the required resources for the executor. The configs are asking for each executor to have a GPU and each task to have 1/4 of a GPU, but no configs were specified on how Spark could locate any GPUs (i.e.: a GPU resource discovery script). See the Apache Spark documentation on custom resource scheduling for details.
If you only have one GPU then since you're running in local mode I would recommend removing the
spark.executor.resource.gpu.amountandspark.task.resource.gpu.amountconfigs. If you have more than one GPU then you'll want to specify a GPU resource discovery script so the Spark scheduler can locate the requested GPU for th…