Hi Denis,

I am so glad that you are interested in HPX GSOC.
I have looked at your github and your projects seems so interesting for me.
Feel free to write your proposal and submit it before April 3rd. I would be
happy to be your mentor, as I have found your background match with my
current projects as well. If you go through

https://github.com/STEllAR-GROUP/hpx/wiki/GSoC-2017-Project-Ideas#re-implement-hpxutilunwrapped

You will find a project "Applying machine learning techniques on HPX
algorithms", which I think it could be a good fit for you too. Our team has
been working on it since 2-3 months ago and so far we have got interesting
results, which are going to be prepared for a conference paper. In this
project we are using LLVM and Clang LibTooling to implement a machine
learning techniques on an HPX parallel algorithm, and we have applied and
tested them on an hpx loop.
So as another option, you could look at this GSOC project idea and write a
brief proposal about how you can implement it.



Best Regards,

*Zahra Khatami* | PhD Student
Center for Computation & Technology (CCT)
School of Electrical Engineering & Computer Science
Louisiana State University
2027 Digital Media Center (DMC)
Baton Rouge, LA 70803


On Thu, Mar 30, 2017 at 10:29 AM, Denis Blank <denis.bl...@outlook.com>
wrote:

> Hello HPX Developers,
>
> I'm Denis, an Informatics Student at the Technical University of Munich,
> Germany.
>
> In the summer semester, I'm transitioning to my master's program and
> thus I will finally have enough time to have a chance on participating at
> GSoC.
>
> I'm very keen on Open-Source because you always learn something new about
> various topics
> not covered in studies, and you get connected to other developers around
> the world.
>
> Thus I'm highly active on GitHub (https://github.com/Naios), also, I
> recently started
> to attend various conferences such as the MeetingC++ or EuroLLVM.
>
> In my spare time, I'm working on side projects very related to the field
> HPX is covering,
> like a library for compile-time known continuation chaining - continuable
> [0].
>
> I'm also a member of the TrinityCore [1] Open-Source project where I'm
> contributing
> for 6 years now (beside of other projects like fmtlib or ANTLR).
>
> HPX is very attractive for me as a potential GSoC project,
> because of its high-quality codebase as well as its impact on
> the today's important infrastructure for parallel computing.
>
> During my work on previous side projects and contributions, I gathered
> significant knowledge in C++ template meta-programming as well as
> designing good API's.
> My bachelor's thesis was also about improving meta-programming in static
> languages.
>
> Thus I want to work on improving the API of HPX especially the
> `hpx::util::unwrapped` function.
> While browsing the issue tracker I spotted other related issues,
> not mentioned in the existing proposal, such as the requirement
> of a unified waiter API for arbitrary objects (#1132 [2]).
>
> My plans for a potential GSoC stipend embrace a complete rewrite of the
> `hpx::util::unwrapped` function, in order to use a new designed waiter
> and unwrapping internal API which picks up the ideas mentioned in #1132,
> to fully support the requirements of issue #1404, #1400 and #1126.
> The API should also replace the existing internal solutions of:
>
>   - `dataflow`
>   - `wait_all`
>   - `when_all`
>
> in order to remove a lot of duplicated code (`when_all_frame` and
> `wait_all_frame`),
> as well as to make the API consistent across these functions.
> Also we could make the following mapping for the following parameter types
> available
> to all functions I mentioned above:
>
>   - Args...                          -> Args... (Ready types)
>   - Tuple<Args...>                   -> Args... (Ready fixed-range)
>   - hpx::future<Tuple<Args...>>      -> Args... (Waitable fixed-range
> futures)
>     > Where Tuple is an object that is unwrappable through a sequenced call
>     > of std::get<I>(tuple)..., which includes `std::pair`, `std::tuple`,
>     > `hpx::tuple` and potentially `std::array`.
>   - Container<hpx::future<Arg>>      -> Container<Arg>
>     > Where Container is an object satisfying the range requirements
>     > (`begin()` and `end()`), which makes it possible to use
>     > any arbitrary standard or user-given container.
>
> The new internal API could use function overloading instead of heavy
> SFINAE,
> so we can also slightly improve the build performance there (issued in
> #950 [3]).
>
> Because of my current knowledge I'm sure to complete these features,
> as well as appropriate unit-tests, in 2 months.
> Also since I've implemented similar capabilities into my continuable
> library [4] before.
>
> For the remaining month, I plan to propose generic project improvements
> into the timeline.
>
> How do you think about the proposed changes?
>
> Are there any other similar defects or requirements related to
> template meta-programming, at which,
> I could possibly work for the planned remaining time?
>
> Kind regards
> Denis
>
> - [0] https://github.com/Naios/continuable
> - [1] https://github.com/TrinityCore/TrinityCore
> - [2] https://github.com/STEllAR-GROUP/hpx/issues/1132
> - [3] https://github.com/STEllAR-GROUP/hpx/issues/950
> - [4] https://github.com/Naios/continuable/blob/
> 6d9680905acc8a7ba3812eddf02f2d69f3172e3f/include/
> continuable/continuable-base.hpp#L856
> _______________________________________________
> hpx-users mailing list
> hpx-users@stellar.cct.lsu.edu
> https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
>
_______________________________________________
hpx-users mailing list
hpx-users@stellar.cct.lsu.edu
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to