Send hpx-devel mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of hpx-devel digest..."


Today's Topics:

   1. Re: Fwd: GSoC 2016 (Hartmut Kaiser)
   2. Re: Fwd: GSoC 2016 (Ankit Aggarwal)


----------------------------------------------------------------------

Message: 1
Date: Sat, 19 Mar 2016 09:09:25 -0500
From: "Hartmut Kaiser" <[email protected]>
Subject: Re: [hpx-devel] Fwd: GSoC 2016
To: "'Ankit Aggarwal'" <[email protected]>,
        <[email protected]>
Message-ID: <[email protected]>
Content-Type: text/plain;       charset="utf-8"

Ankit,

> I was going through the Resumable Functions and I was not able to
> understand a difference between the stack-less coroutine and Resumable
> functions. Does both share the same meaning or is there any difference
> among them?

Both flavors of coroutines are what the name implies - coroutines. The main 
semantic difference would be that stack-full coroutines can suspend their 
execution at any level of the call stack, while stack-less coroutines can 
suspend only on the uppermost level of the call stack (and only if the compiler 
moves all local variables off the stack).

> Also,I was able to find the blog
> <http://meetingcpp.com/index.php/br/items/resumable-functions-async-and-
> await.html> where Thomas Heller(One of the mentor of HPX) has implemented
> the resumable functions in HPX,So is the further development needed to be
> done following the same principle of implementation or some other solution
> is required?

The solution to resumable functions we have is not generic and requires user 
intervention. For instance, let's look at fibonacci (yes, yes, it's a dumb 
example):

// using our dataflow construct
hpx::future<int> fibonacci(int n)
{
    if (n < 2) return hpx::make_ready_future(n);
    if (n < threshold) return hpx::make_ready_future(fibonacci_serial(n));

    hpx::future<int> lhs_future = hpx::async(&fibonacci, n-1);
    hpx::future<int> rhs_future = fibonacci(n-2);

    return
        hpx::dataflow(
            hpx::util::unwrapped(
            [](int lhs, int rhs)
            {
                return lhs + rhs;
            })
          , std::move(lhs_future), std::move(rhs_future)
        );
}

// using what's proposed for resumable functions:
hpx::future<int> fibonacci(int n)
{
    if (n < 2) coreturn hpx::make_ready_future(n);
    if (n < threshold) coreturn hpx::make_ready_future(fibonacci_serial(n));

    hpx::future<int> lhs_future = hpx::async(&fibonacci, n-1);
    hpx::future<int> rhs_future = fibonacci(n-2);

    coreturn await lhs_future + await rhs_future;
}

Both are 100% semantically equivalent, the second however requires compiler 
support (await/coreturn).

> And most important what is needed to be present in the proposal for this
> project?

Here is a template of what you should base your proposal on: 
https://github.com/STEllAR-GROUP/hpx/wiki/GSoC-Submission-Template

Regards Hartmut
---------------
http://boost-spirit.com
http://stellar.cct.lsu.edu


> Ankit Aggarwal
> 
> On Thu, Mar 17, 2016 at 10:33 PM, Ankit Aggarwal
> <[email protected]> wrote:
> Sorry I was not able as soon as possible for the above discussion
> Yes,I will definitely want to work for this project.
> I will have the look at how "Resumable functions" work and what are the
> process required for there declaration.
> 
> One major obstacle for me will how to extend the gcc or clang for this
> which I think, i can cover during April before coding begins (maybe
> earlier).
> "Ahh yes. This would also be a step in the direction of static dataflow
> graphs (build once, use often). This is also something supported by the
> resumable functions stuff, which allows to abstract Generators in a
> similar
> way as it abstracts Waitables."
> Can you please give me more insights on the above statement?
> Ankit Aggarwal
> 
> 
> 
> On Thu, Mar 17, 2016 at 7:07 PM, Hartmut Kaiser <[email protected]>
> wrote:
> > > Uhh, I thought we can do that already (I may misunderstand what you
> > mean,
> > > however). Our suspension scheme relies on calling a function 'more
> than
> > > once'.
> >
> > Sure, but we only ever "return" once. the idea goes something like this:
> >
> >
> > void generate(generator<std::size_t> & yield, std::size_t n)
> > {
> >     for(std::size_t i = 0; i != n; ++n)
> >     {
> >         yield(i * i);
> >     }
> >     yield.return();
> > }
> >
> > void consumer()
> > {
> >     generator<std::size_t> yield;
> >     hpx::future<std::size_t> f = yield.get_future();
> >     while(f.valid())
> >     {
> >         std::cout << "got " << f.get() << '\n';
> >         f = yield.get_future();
> >     }
> > }
> 
> Ahh yes. This would also be a step in the direction of static dataflow
> graphs (build once, use often). This is also something supported by the
> resumable functions stuff, which allows to abstract Generators in a
> similar
> way as it abstracts Waitables.
> 
> This would indeed be a nice GSoC project!
> 
> Aggrawal - would you be up to it?
> 
> Regards Hartmut
> ---------------
> http://boost-spirit.com
> http://stellar.cct.lsu.edu
> 
> 
> > >> Hope that helps!
> > >>
> > >> Cheers,
> > >> Thomas
> > >>
> > >>>
> > >>> Ankit Aggarwal
> > >>>
> > >>> On Mon, Mar 14, 2016 at 11:02 PM, Hartmut Kaiser
> > >>> <[email protected] <mailto:[email protected]>> wrote:
> > >>>
> > >>>     Ankit,
> > >>>
> > >>>     > I was attached some of the links i was going through to
> > understand
> > >> the
> > >>>     > plug-in mechanism in the C++
> > >>>     >
> > >>>     > <http://www.open-
> > >> std.org/jtc1/sc22/wg21/docs/papers/2006/n2015.pdf>
> > >>>     > <http://www.drdobbs.com/cpp/building-your-own-plugin-
> framework-
> > >>>     > part/204202899?pgno=1>
> > >>>     >
> > >>>     > To my understanding, what have been done till now is that
> third-
> > >> party
> > >>>     > developer is able to write their own scheduler using the
> > scheduler
> > >> base
> > >>>     > class and further work required is to develop the plug-in
> > manager
> > >> that
> > >>>     > will manage the life system of the plug-in and expose the
> plug-
> > in
> > >> to core
> > >>>     > library.
> > >>>     >
> > >>>     > Please correct me if I am wrong in understanding the project
> > >>>     >
> > >>>     > > "What's missing? We miss the dynamic discovery and loading
> > >> aspect. This
> > >>>     > > however has been implemented for (dynamic) component already
> > >> from where it
> > >>>     > > could be adapted and reused. Some refactoring of the
> existing
> > >> schedulers
> > >>>     > > might be in order as well."
> > >>>     >
> > >>>     > I was not able to understand the term "component" in the above
> > >>>     > statement.Does components refer to something other than plug-
> in?
> > >>>
> > >>>     Yes,. In HPX dynamic components are a special type of plugins.
> > >>>
> > >>>     Sorry for being insufficiently concise here.
> > >>>     Regards Hartmut
> > >>>     ---------------
> > >>>     http://boost-spirit.com
> > >>>     http://stellar.cct.lsu.edu
> > >>>
> > >>>     >
> > >>>     > Ankit Aggarwal
> > >>>     >
> > >>>     > On Sat, Mar 12, 2016 at 8:01 PM, Hartmut Kaiser
> > >> <[email protected] <mailto:[email protected]>>
> > >>>     > wrote:
> > >>>     > Ankit,
> > >>>     >
> > >>>     > > For the project "Plugin mechanism for thread scheduler" . It
> > is
> > >> directed
> > >>>     > > that some initial work has already been done on this project
> > and
> > >> needed
> > >>>     > to
> > >>>     > > be continued from that.
> > >>>     > >
> > >>>     > > Can anyone give me more insights of the previous work done
> so
> > >> far and
> > >>>     > what
> > >>>     > > further is required ?
> > >>>     >
> > >>>     > The goal of this project is to separate out into external
> > modules
> > >> the
> > >>>     > currently available schedulers from the core HPX library. This
> > is
> > >>>     > beneficial as users could plug in their own schedulers at
> > runtime,
> > >> it
> > >>>     > would also reduce the footprint of the core library as not all
> > >> available
> > >>>     > schedulers would have to be linked into it.
> > >>>     >
> > >>>     > The only way to sensibly make this happen would be to
> transform
> > >> the
> > >>>     > scheduler base class (scheduler_base) into an abstract base
> > class
> > >> which
> > >>>     > exposes all necessary functionality through virtual functions.
> > >> Also, the
> > >>>     > different schedulers themselves would need to be compiled as
> > >> separate
> > >>>     > modules (shared libraries) which would require build system
> > >> changes.
> > >>>     > Combined with a dynamic discovery and loading mechanism at
> > runtime
> > >> HPX
> > >>>     > would be able to select the appropriate external scheduler
> > module
> > >> and load
> > >>>     > and use it.
> > >>>     >
> > >>>     > What has been done so far? All or part of the necessary
> > scheduler
> > >>>     > functionality has already been exposed through virtual
> functions
> > >> in
> > >>>     > scheduler_base (see here: https://github.com/STEllAR-
> > >>>     >
> > >>
> >
> GROUP/hpx/blob/master/hpx/runtime/threads/policies/scheduler_base.hpp#L62)
> > >>>     > .
> > >>>     >
> > >>>     > What's missing? We miss the dynamic discovery and loading
> > aspect.
> > >> This
> > >>>     > however has been implemented for (dynamic) component already
> > from
> > >> where it
> > >>>     > could be adapted and reused. Some refactoring of the existing
> > >> schedulers
> > >>>     > might be in order as well.
> > >>>     >
> > >>>     > A couple of pointers:
> > >>>     >
> > >>>     > We currently use this for abstracting the plugin aspect of an
> > >> external
> > >>>     > module: https://github.com/STEllAR-
> > >> GROUP/hpx/tree/master/hpx/util/plugin
> > >>>     > (this works for dynamic loading, but also for statically
> linked
> > >> binaries).
> > >>>     >
> > >>>     > Here is an example how we handle dynamic loading for various
> > >> plugins:
> > >>>     > https://github.com/STEllAR-
> > >>>     > GROUP/hpx/blob/master/src/util/init_ini_data.cpp#L308.
> > >>>     >
> > >>>     > HTH
> > >>>     > Regards Hartmut
> > >>>     > ---------------
> > >>>     > http://boost-spirit.com
> > >>>     > http://stellar.cct.lsu.edu
> > >>>     >
> > >>>     >
> > >>>     > > Ankit Aggarwal
> > >>>     > >
> > >>>     > > On Wed, Mar 9, 2016 at 6:11 AM, Hartmut Kaiser
> > >>>     > <[email protected] <mailto:[email protected]>>
> > >>>     > > wrote:
> > >>>     > > Resending, cc'ing Ankit...
> > >>>     > >
> > >>>     > > Regards Hartmut
> > >>>     > > ---------------
> > >>>     > > http://boost-spirit.com
> > >>>     > > http://stellar.cct.lsu.edu
> > >>>     > >
> > >>>     > >
> > >>>     > > > -----Original Message-----
> > >>>     > > > From: Hartmut Kaiser [mailto:[email protected]
> > >> <mailto:[email protected]>]
> > >>>     > > > Sent: Tuesday, March 8, 2016 7:06 AM
> > >>>     > > > To: '[email protected]
> > >>>     <mailto:[email protected]>'
> > >>>     <[email protected] <mailto:hpx-
> > >> [email protected]>>
> > >>>     > > > Subject: RE: [hpx-devel] Fwd: GSoC 2016
> > >>>     > > >
> > >>>     > > > Ankit,
> > >>>     > > >
> > >>>     > > > Thanks for your interest in our project!
> > >>>     > > >
> > >>>     > > > > I am a fourth year student at PEC,University of
> > >> Technology,India. I
> > >>>     > am
> > >>>     > > > > interested in the doing in the "Implement a Plugin
> > >> Mechanism" and
> > >>>     > > > > "Coroutine like Interface" for GSoC 2016.
> > >>>     > > > > Among needed skills I am comfortable with C++ as I have
> > been
> > >> using
> > >>>     > it
> > >>>     > > > for
> > >>>     > > > > last 3  years including libraries like BOOST,OpenCV,
> > Zeromq
> > >> and many
> > >>>     > > > > others.
> > >>>     > > > > I also participated in GSoC 2015 - MBDyn
> > >>>     > > > > <https://www.mbdyn.org/?News&id=19> (Project-2 "INTERNAL
> > >> LIBRARY
> > >>>     > > > UPDATES)
> > >>>     > > > > which I successfully completed and was also based on C++
> > >> language
> > >>>     > > > > including Boost library ,STL etc. I have also attached
> the
> > >> letter of
> > >>>     > > > > reference obtained from the mentor for consideration.
> > >>>     > > > > I have already installed the HPX library and played
> around
> > >> with it
> > >>>     > for
> > >>>     > > a
> > >>>     > > > > day on the basis syntax and workflow.
> > >>>     > > > > I would really appreciate the know the starting point
> for
> > >> this
> > >>>     > project
> > >>>     > > > and
> > >>>     > > > > any other requirements for this project.
> > >>>     > > >
> > >>>     > > > Give me a day or so, please, to get back to you on all of
> > your
> > >>>     > > questions.
> > >>>     > > >
> > >>>     > > > Regards Hartmut
> > >>>     > > > ---------------
> > >>>     > > > http://boost-spirit.com
> > >>>     > > > http://stellar.cct.lsu.edu
> > >>>     > > >
> > >>>     > >
> > >>>     >
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>> _______________________________________________
> > >>> hpx-devel mailing list
> > >>> [email protected]
> > >>> https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel
> > >>>
> > >>
> > >>
> > >> --
> > >> Thomas Heller
> > >> Friedrich-Alexander-Universit?t Erlangen-N?rnberg
> > >> Department Informatik - Lehrstuhl Rechnerarchitektur
> > >> Martensstr. 3
> > >> 91058 Erlangen
> > >> Tel.: 09131/85-27018
> > >> Fax:  09131/85-27912
> > >> Email: [email protected]
> > >> _______________________________________________
> > >> hpx-devel mailing list
> > >> [email protected]
> > >> https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel
> > >
> > > _______________________________________________
> > > hpx-devel mailing list
> > > [email protected]
> > > https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel
> > >
> >
> >
> > --
> > Thomas Heller
> > Friedrich-Alexander-Universit?t Erlangen-N?rnberg
> > Department Informatik - Lehrstuhl Rechnerarchitektur
> > Martensstr. 3
> > 91058 Erlangen
> > Tel.: 09131/85-27018
> > Fax:  09131/85-27912
> > Email: [email protected]
> 
> _______________________________________________
> hpx-devel mailing list
> [email protected]
> https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel
> 




------------------------------

Message: 2
Date: Sat, 19 Mar 2016 14:30:49 +0000
From: Ankit Aggarwal <[email protected]>
Subject: Re: [hpx-devel] Fwd: GSoC 2016
To: [email protected], [email protected]
Message-ID:
        <CAD0Pt-6novSA3dXaoF3cWnfreuf0sCbKna=-qed4qfdnrds...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Thanks for such a brilliant reply

I think,now i understand the required work to some extent ( compiler
support for the await/coreturn).

Can you please recommend me which compiler to work (gcc or clang) for this
project ?

Ankit Aggarwal

On Sat, 19 Mar 2016 7:39 pm Hartmut Kaiser <[email protected]> wrote:

> Ankit,
>
> > I was going through the Resumable Functions and I was not able to
> > understand a difference between the stack-less coroutine and Resumable
> > functions. Does both share the same meaning or is there any difference
> > among them?
>
> Both flavors of coroutines are what the name implies - coroutines. The
> main semantic difference would be that stack-full coroutines can suspend
> their execution at any level of the call stack, while stack-less coroutines
> can suspend only on the uppermost level of the call stack (and only if the
> compiler moves all local variables off the stack).
>
> > Also,I was able to find the blog
> > <http://meetingcpp.com/index.php/br/items/resumable-functions-async-and-
> > await.html> where Thomas Heller(One of the mentor of HPX) has implemented
> > the resumable functions in HPX,So is the further development needed to be
> > done following the same principle of implementation or some other
> solution
> > is required?
>
> The solution to resumable functions we have is not generic and requires
> user intervention. For instance, let's look at fibonacci (yes, yes, it's a
> dumb example):
>
> // using our dataflow construct
> hpx::future<int> fibonacci(int n)
> {
>     if (n < 2) return hpx::make_ready_future(n);
>     if (n < threshold) return hpx::make_ready_future(fibonacci_serial(n));
>
>     hpx::future<int> lhs_future = hpx::async(&fibonacci, n-1);
>     hpx::future<int> rhs_future = fibonacci(n-2);
>
>     return
>         hpx::dataflow(
>             hpx::util::unwrapped(
>             [](int lhs, int rhs)
>             {
>                 return lhs + rhs;
>             })
>           , std::move(lhs_future), std::move(rhs_future)
>         );
> }
>
> // using what's proposed for resumable functions:
> hpx::future<int> fibonacci(int n)
> {
>     if (n < 2) coreturn hpx::make_ready_future(n);
>     if (n < threshold) coreturn
> hpx::make_ready_future(fibonacci_serial(n));
>
>     hpx::future<int> lhs_future = hpx::async(&fibonacci, n-1);
>     hpx::future<int> rhs_future = fibonacci(n-2);
>
>     coreturn await lhs_future + await rhs_future;
> }
>
> Both are 100% semantically equivalent, the second however requires
> compiler support (await/coreturn).
>
> > And most important what is needed to be present in the proposal for this
> > project?
>
> Here is a template of what you should base your proposal on:
> https://github.com/STEllAR-GROUP/hpx/wiki/GSoC-Submission-Template
>
> Regards Hartmut
> ---------------
> http://boost-spirit.com
> http://stellar.cct.lsu.edu
>
>
> > Ankit Aggarwal
> >
> > On Thu, Mar 17, 2016 at 10:33 PM, Ankit Aggarwal
> > <[email protected]> wrote:
> > Sorry I was not able as soon as possible for the above discussion
> > Yes,I will definitely want to work for this project.
> > I will have the look at how "Resumable functions" work and what are the
> > process required for there declaration.
> >
> > One major obstacle for me will how to extend the gcc or clang for this
> > which I think, i can cover during April before coding begins (maybe
> > earlier).
> > "Ahh yes. This would also be a step in the direction of static dataflow
> > graphs (build once, use often). This is also something supported by the
> > resumable functions stuff, which allows to abstract Generators in a
> > similar
> > way as it abstracts Waitables."
> > Can you please give me more insights on the above statement?
> > Ankit Aggarwal
> >
> >
> >
> > On Thu, Mar 17, 2016 at 7:07 PM, Hartmut Kaiser <
> [email protected]>
> > wrote:
> > > > Uhh, I thought we can do that already (I may misunderstand what you
> > > mean,
> > > > however). Our suspension scheme relies on calling a function 'more
> > than
> > > > once'.
> > >
> > > Sure, but we only ever "return" once. the idea goes something like
> this:
> > >
> > >
> > > void generate(generator<std::size_t> & yield, std::size_t n)
> > > {
> > >     for(std::size_t i = 0; i != n; ++n)
> > >     {
> > >         yield(i * i);
> > >     }
> > >     yield.return();
> > > }
> > >
> > > void consumer()
> > > {
> > >     generator<std::size_t> yield;
> > >     hpx::future<std::size_t> f = yield.get_future();
> > >     while(f.valid())
> > >     {
> > >         std::cout << "got " << f.get() << '\n';
> > >         f = yield.get_future();
> > >     }
> > > }
> >
> > Ahh yes. This would also be a step in the direction of static dataflow
> > graphs (build once, use often). This is also something supported by the
> > resumable functions stuff, which allows to abstract Generators in a
> > similar
> > way as it abstracts Waitables.
> >
> > This would indeed be a nice GSoC project!
> >
> > Aggrawal - would you be up to it?
> >
> > Regards Hartmut
> > ---------------
> > http://boost-spirit.com
> > http://stellar.cct.lsu.edu
> >
> >
> > > >> Hope that helps!
> > > >>
> > > >> Cheers,
> > > >> Thomas
> > > >>
> > > >>>
> > > >>> Ankit Aggarwal
> > > >>>
> > > >>> On Mon, Mar 14, 2016 at 11:02 PM, Hartmut Kaiser
> > > >>> <[email protected] <mailto:[email protected]>>
> wrote:
> > > >>>
> > > >>>     Ankit,
> > > >>>
> > > >>>     > I was attached some of the links i was going through to
> > > understand
> > > >> the
> > > >>>     > plug-in mechanism in the C++
> > > >>>     >
> > > >>>     > <http://www.open-
> > > >> std.org/jtc1/sc22/wg21/docs/papers/2006/n2015.pdf>
> > > >>>     > <http://www.drdobbs.com/cpp/building-your-own-plugin-
> > framework-
> > > >>>     > part/204202899?pgno=1>
> > > >>>     >
> > > >>>     > To my understanding, what have been done till now is that
> > third-
> > > >> party
> > > >>>     > developer is able to write their own scheduler using the
> > > scheduler
> > > >> base
> > > >>>     > class and further work required is to develop the plug-in
> > > manager
> > > >> that
> > > >>>     > will manage the life system of the plug-in and expose the
> > plug-
> > > in
> > > >> to core
> > > >>>     > library.
> > > >>>     >
> > > >>>     > Please correct me if I am wrong in understanding the project
> > > >>>     >
> > > >>>     > > "What's missing? We miss the dynamic discovery and loading
> > > >> aspect. This
> > > >>>     > > however has been implemented for (dynamic) component
> already
> > > >> from where it
> > > >>>     > > could be adapted and reused. Some refactoring of the
> > existing
> > > >> schedulers
> > > >>>     > > might be in order as well."
> > > >>>     >
> > > >>>     > I was not able to understand the term "component" in the
> above
> > > >>>     > statement.Does components refer to something other than plug-
> > in?
> > > >>>
> > > >>>     Yes,. In HPX dynamic components are a special type of plugins.
> > > >>>
> > > >>>     Sorry for being insufficiently concise here.
> > > >>>     Regards Hartmut
> > > >>>     ---------------
> > > >>>     http://boost-spirit.com
> > > >>>     http://stellar.cct.lsu.edu
> > > >>>
> > > >>>     >
> > > >>>     > Ankit Aggarwal
> > > >>>     >
> > > >>>     > On Sat, Mar 12, 2016 at 8:01 PM, Hartmut Kaiser
> > > >> <[email protected] <mailto:[email protected]>>
> > > >>>     > wrote:
> > > >>>     > Ankit,
> > > >>>     >
> > > >>>     > > For the project "Plugin mechanism for thread scheduler" .
> It
> > > is
> > > >> directed
> > > >>>     > > that some initial work has already been done on this
> project
> > > and
> > > >> needed
> > > >>>     > to
> > > >>>     > > be continued from that.
> > > >>>     > >
> > > >>>     > > Can anyone give me more insights of the previous work done
> > so
> > > >> far and
> > > >>>     > what
> > > >>>     > > further is required ?
> > > >>>     >
> > > >>>     > The goal of this project is to separate out into external
> > > modules
> > > >> the
> > > >>>     > currently available schedulers from the core HPX library.
> This
> > > is
> > > >>>     > beneficial as users could plug in their own schedulers at
> > > runtime,
> > > >> it
> > > >>>     > would also reduce the footprint of the core library as not
> all
> > > >> available
> > > >>>     > schedulers would have to be linked into it.
> > > >>>     >
> > > >>>     > The only way to sensibly make this happen would be to
> > transform
> > > >> the
> > > >>>     > scheduler base class (scheduler_base) into an abstract base
> > > class
> > > >> which
> > > >>>     > exposes all necessary functionality through virtual
> functions.
> > > >> Also, the
> > > >>>     > different schedulers themselves would need to be compiled as
> > > >> separate
> > > >>>     > modules (shared libraries) which would require build system
> > > >> changes.
> > > >>>     > Combined with a dynamic discovery and loading mechanism at
> > > runtime
> > > >> HPX
> > > >>>     > would be able to select the appropriate external scheduler
> > > module
> > > >> and load
> > > >>>     > and use it.
> > > >>>     >
> > > >>>     > What has been done so far? All or part of the necessary
> > > scheduler
> > > >>>     > functionality has already been exposed through virtual
> > functions
> > > >> in
> > > >>>     > scheduler_base (see here: https://github.com/STEllAR-
> > > >>>     >
> > > >>
> > >
> >
> GROUP/hpx/blob/master/hpx/runtime/threads/policies/scheduler_base.hpp#L62)
> > > >>>     > .
> > > >>>     >
> > > >>>     > What's missing? We miss the dynamic discovery and loading
> > > aspect.
> > > >> This
> > > >>>     > however has been implemented for (dynamic) component already
> > > from
> > > >> where it
> > > >>>     > could be adapted and reused. Some refactoring of the existing
> > > >> schedulers
> > > >>>     > might be in order as well.
> > > >>>     >
> > > >>>     > A couple of pointers:
> > > >>>     >
> > > >>>     > We currently use this for abstracting the plugin aspect of an
> > > >> external
> > > >>>     > module: https://github.com/STEllAR-
> > > >> GROUP/hpx/tree/master/hpx/util/plugin
> > > >>>     > (this works for dynamic loading, but also for statically
> > linked
> > > >> binaries).
> > > >>>     >
> > > >>>     > Here is an example how we handle dynamic loading for various
> > > >> plugins:
> > > >>>     > https://github.com/STEllAR-
> > > >>>     > GROUP/hpx/blob/master/src/util/init_ini_data.cpp#L308.
> > > >>>     >
> > > >>>     > HTH
> > > >>>     > Regards Hartmut
> > > >>>     > ---------------
> > > >>>     > http://boost-spirit.com
> > > >>>     > http://stellar.cct.lsu.edu
> > > >>>     >
> > > >>>     >
> > > >>>     > > Ankit Aggarwal
> > > >>>     > >
> > > >>>     > > On Wed, Mar 9, 2016 at 6:11 AM, Hartmut Kaiser
> > > >>>     > <[email protected] <mailto:[email protected]>>
> > > >>>     > > wrote:
> > > >>>     > > Resending, cc'ing Ankit...
> > > >>>     > >
> > > >>>     > > Regards Hartmut
> > > >>>     > > ---------------
> > > >>>     > > http://boost-spirit.com
> > > >>>     > > http://stellar.cct.lsu.edu
> > > >>>     > >
> > > >>>     > >
> > > >>>     > > > -----Original Message-----
> > > >>>     > > > From: Hartmut Kaiser [mailto:[email protected]
> > > >> <mailto:[email protected]>]
> > > >>>     > > > Sent: Tuesday, March 8, 2016 7:06 AM
> > > >>>     > > > To: '[email protected]
> > > >>>     <mailto:[email protected]>'
> > > >>>     <[email protected] <mailto:hpx-
> > > >> [email protected]>>
> > > >>>     > > > Subject: RE: [hpx-devel] Fwd: GSoC 2016
> > > >>>     > > >
> > > >>>     > > > Ankit,
> > > >>>     > > >
> > > >>>     > > > Thanks for your interest in our project!
> > > >>>     > > >
> > > >>>     > > > > I am a fourth year student at PEC,University of
> > > >> Technology,India. I
> > > >>>     > am
> > > >>>     > > > > interested in the doing in the "Implement a Plugin
> > > >> Mechanism" and
> > > >>>     > > > > "Coroutine like Interface" for GSoC 2016.
> > > >>>     > > > > Among needed skills I am comfortable with C++ as I have
> > > been
> > > >> using
> > > >>>     > it
> > > >>>     > > > for
> > > >>>     > > > > last 3  years including libraries like BOOST,OpenCV,
> > > Zeromq
> > > >> and many
> > > >>>     > > > > others.
> > > >>>     > > > > I also participated in GSoC 2015 - MBDyn
> > > >>>     > > > > <https://www.mbdyn.org/?News&id=19> (Project-2
> "INTERNAL
> > > >> LIBRARY
> > > >>>     > > > UPDATES)
> > > >>>     > > > > which I successfully completed and was also based on
> C++
> > > >> language
> > > >>>     > > > > including Boost library ,STL etc. I have also attached
> > the
> > > >> letter of
> > > >>>     > > > > reference obtained from the mentor for consideration.
> > > >>>     > > > > I have already installed the HPX library and played
> > around
> > > >> with it
> > > >>>     > for
> > > >>>     > > a
> > > >>>     > > > > day on the basis syntax and workflow.
> > > >>>     > > > > I would really appreciate the know the starting point
> > for
> > > >> this
> > > >>>     > project
> > > >>>     > > > and
> > > >>>     > > > > any other requirements for this project.
> > > >>>     > > >
> > > >>>     > > > Give me a day or so, please, to get back to you on all of
> > > your
> > > >>>     > > questions.
> > > >>>     > > >
> > > >>>     > > > Regards Hartmut
> > > >>>     > > > ---------------
> > > >>>     > > > http://boost-spirit.com
> > > >>>     > > > http://stellar.cct.lsu.edu
> > > >>>     > > >
> > > >>>     > >
> > > >>>     >
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> _______________________________________________
> > > >>> hpx-devel mailing list
> > > >>> [email protected]
> > > >>> https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel
> > > >>>
> > > >>
> > > >>
> > > >> --
> > > >> Thomas Heller
> > > >> Friedrich-Alexander-Universit?t Erlangen-N?rnberg
> > > >> Department Informatik - Lehrstuhl Rechnerarchitektur
> > > >> Martensstr. 3
> > > >> 91058 Erlangen
> > > >> Tel.: 09131/85-27018
> > > >> Fax:  09131/85-27912
> > > >> Email: [email protected]
> > > >> _______________________________________________
> > > >> hpx-devel mailing list
> > > >> [email protected]
> > > >> https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel
> > > >
> > > > _______________________________________________
> > > > hpx-devel mailing list
> > > > [email protected]
> > > > https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel
> > > >
> > >
> > >
> > > --
> > > Thomas Heller
> > > Friedrich-Alexander-Universit?t Erlangen-N?rnberg
> > > Department Informatik - Lehrstuhl Rechnerarchitektur
> > > Martensstr. 3
> > > 91058 Erlangen
> > > Tel.: 09131/85-27018
> > > Fax:  09131/85-27912
> > > Email: [email protected]
> >
> > _______________________________________________
> > hpx-devel mailing list
> > [email protected]
> > https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
http://mail.cct.lsu.edu/pipermail/hpx-devel/attachments/20160319/70870b38/attachment.html
 

------------------------------

_______________________________________________
hpx-devel mailing list
[email protected]
https://mail.cct.lsu.edu/mailman/listinfo/hpx-devel


End of hpx-devel Digest, Vol 26, Issue 13
*****************************************

Reply via email to