[ 
https://issues.apache.org/jira/browse/SPARK-16574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15380176#comment-15380176
 ] 

Sean Owen commented on SPARK-16574:
-----------------------------------

Sure, let's say you have 10 machines with 2 GPUs. Then you want to launch 10 
executors targeting these machines, each claiming 2 cores. You partition your 
tuples 20 ways, and then use foreach to execute whatever GPU-related code you 
want given a tuple. (May need to take some care with a Partiitoner to guarantee 
20 partitions of 2 tasks each. Then each machine will execute 2 tasks on 2 GPUs 
at a time. I think this is already quite possible now.

> Distribute computing to each node based on certain hints
> --------------------------------------------------------
>
>                 Key: SPARK-16574
>                 URL: https://issues.apache.org/jira/browse/SPARK-16574
>             Project: Spark
>          Issue Type: Wish
>            Reporter: Norman He
>
> 1) I have gpuWorkers RDD like(each node have 2 gpus)
>     val nodes= 10
>     val gpuCount = 2
>     val cross: Array[(Int, Int)] = for( x <- Array.range(0, nodes);  y <-     
>  Array.range(0, gpuCount ) ) yield (x, y)
>     var gpuWorkers: RDD[(Int, Int)] = sc.parallelize(cross, nodes * gpuCount)
> 2) when executor runs, I would somehow like to distribute code to each nodes 
> based on cross's gpu index(y) so that each machine 2 gpu can be used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to