Objet : Developers list for StarPU
Archives de la liste
- From: Fangli Pi <hpcfapix@hlrs.de>
- To: Samuel Thibault <samuel.thibault@inria.fr>
- Cc: starpu-devel@lists.gforge.inria.fr
- Subject: Re: [Starpu-devel] Questions about StarPU worker recongnization
- Date: Wed, 20 Jan 2016 13:09:21 +0100 (CET)
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=hpcfapix@hlrs.de; spf=None smtp.mailfrom=hpcfapix@hlrs.de; spf=None smtp.helo=postmaster@mail.hlrs.de
- Dkim-filter: OpenDKIM Filter v2.9.2 mail.hlrs.de 89EA9848A
- Ironport-phdr: 9a23:gjjAoxCI/014ztVyE1rdUyQJP3N1i/DPJgcQr6AfoPdwSP78r8bcNUDSrc9gkEXOFd2CrakU1ayP6/mrAz1IyK3CmU5BWaQEbwUCh8QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYsExnyfTB4Ov7yUtaLyZ/niabro8SYOVQArQH+SI0xBS3+lR/WuMgSjNkqAYcK4TyNnEF1ff9Lz3hjP1OZkkW0zM6x+Jl+73YY4Kp5pIZoGJ/3dKUgTLFeEC9ucyVsvJWq5lH/Sl60734BX2FerhpJCQHY6A2yCoz4tzb3sqxh2CiQNNDyUZg1Xy6j5uFlUkm7pj0AMmsX+WfYjs04tKMT9BK5rBJ224/ESIGRLuE4cq6LLoBSfnZIQssED38JOYi7dYZaSrNZZes=
- List-archive: <http://lists.gforge.inria.fr/pipermail/starpu-devel/>
- List-id: "Developers list. For discussion of new features, code changes, etc." <starpu-devel.lists.gforge.inria.fr>
Hello,
First of all, thank you very much for your reply, it is really helpful for
our project.
Now as i tried with some your given examples using starpu, I have then
another question:
If parallel tasks are written with cl type: "STARPU_SPMD", does starpu
provides some data structure to keep the number of cpu cores for the task?
For example of the "vector_scal_spmd.c". Inside the cpu function, number of
available cpu cores are get by:
int nb_workers = starpu_combined_worker_get_size();
then how could i keep this number for later usage?
Best regards,
Fangli
----- Original Message -----
From: "Samuel Thibault" <samuel.thibault@inria.fr>
To: "Fangli Pi" <hpcfapix@hlrs.de>
Cc: "starpu-devel" <starpu-devel@lists.gforge.inria.fr>
Sent: Tuesday, January 5, 2016 6:38:19 PM
Subject: Re: [Starpu-devel] Questions about StarPU worker recongnization
Hello,
Fangli Pi, on Fri 18 Dec 2015 16:19:48 +0100, wrote:
> 1. The platform, where we want to use starpu is composed of 3 computation
> nodes (different CPU type and with multiple cores inside), so I want to
> know can StarPU do tasks allocation on different nodes? If yes, are there
> extra inputs need to be given to starpu?
For now, StarPU doesn't balance tasks between nodes, it just follows the
data distribution provided by the application, or a task distribution
provided by the application.
We plan to support balancing tasks between node in the close future.
> 2. From the source code of StarPU, it seems that only task size (eg. data
> length) is considered for performance model (history_based and regression
> based), to predict the expectation time.
By default, yes.
> And do you have some flexibility to add other parameters?
Yes, it is a matter of providing a size_base method in the performance
model.
> For example, performance parameters and power parameters?
You can include any parameter you want to the size_base method.
> I have heard that StarPU would also be extended to energy and power
> prediction. If this is true, it would be very interesting for our project
> now and we would be willing to contribute to this field if needed.
It already has some support: the codelet structure has both a "model"
field (for performance), and a "power_model" field (for consumption).
See the Power-based Scheduling section of the documentation.
> 3. About scheduling, there is another thing not clear from the description.
> For example, if "dm" scheduling policy is used, the tasks are pushed to one
> central queue or a queue per worker?
A queue per worker. Which queue is decided by a greedy algorithm, which
just balances the expected completion time.
> It is written in your documentation that "it schedules tasks where their
> termination time will be minimal", does this mean that all the tasks in the
> queue are compared by their predicted execution time and the one with
> minimal execution time will be popped to the worker and be executed?
No. The decision is taken before pushing to the queue. The workers just
pop from the queue in the same order as the push order.
> But is it possible to know which worker it is scheduled to, and can we, as
> a user have the possibility to determined which worker to use?
You can force the worker to be scheduled on by using the specific_worker
field of the task structure.
Samuel
--
High Performance Computing Center (HLRS)
University of Stuttgart
Nobelstr. 19
D-70569 Stuttgart, Germany
phone: ++49-711-685-60442
- Re: [Starpu-devel] Questions about StarPU worker recongnization, Samuel Thibault, 05/01/2016
- Re: [Starpu-devel] Questions about StarPU worker recongnization, Fangli Pi, 20/01/2016
- Re: [Starpu-devel] Questions about StarPU worker recongnization, Samuel Thibault, 20/01/2016
- Re: [Starpu-devel] Questions about StarPU worker recongnization, Fangli Pi, 20/01/2016
- Re: [Starpu-devel] Questions about StarPU worker recongnization, Samuel Thibault, 20/01/2016
- Re: [Starpu-devel] Questions about StarPU worker recongnization, Fangli Pi, 20/01/2016
- Re: [Starpu-devel] Questions about StarPU worker recongnization, Samuel Thibault, 20/01/2016
- Re: [Starpu-devel] Questions about StarPU worker recongnization, Fangli Pi, 20/01/2016
Archives gérées par MHonArc 2.6.19+.