Hi Michael,

I'm one of the CSCS people Hartmut mentioned below. Sorry for not joining the 
discussion earlier. I've been away the last two weeks.

I don't have too much to add to the discussion at this point, other than: yes, 
there's definitely interest! The main goal of the modularization effort is to 
simply improve the structure of HPX, and not necessarily to enable C++ modules. 
But being able to use C++ modules might turn out to be a very nice bonus. And 
keeping a one-to-one correspondence between C++ modules and our current 
"modules" is most likely the only sane thing to do. Anything else will cause 
confusion and pain.

I haven't looked too much into the mechanisms and syntax of enabling C++ 
modules so your help would definitely be appreciated there. We'll be getting 
more modules (not sure if we need to call our current modules something other 
than modules to avoid confusion...) in the near future, so there'll be plenty 
to play around with. So far there's:
- A preprocessor module: this one is interesting because it only "exports" 
macros. As far as I understand macros can't be exported from C++ modules, so 
this would already be a first special case to deal with.
- A config module. Same thing as above.
- A cache module. This is the first module that actually implements functions 
and classes that are exported. This is likely the closest to a "typical" module 
we'll have.

The question is how much extra boilerplate we'd have to add to support 
importing and exporting modules. E.g. how we can avoid duplicating "imports" in 
the form of including headers and actual module imports. I think the modules in 
master (right now and in the near future) should be enough to figure out if and 
how C++ modules could be used in HPX.

Does this help at all? It might be easiest to continue on IRC if you have more 
questions about this.

Kind regards,
Mikael
________________________________________
From: hpx-users-boun...@stellar.cct.lsu.edu 
[hpx-users-boun...@stellar.cct.lsu.edu] on behalf of Hartmut Kaiser 
[hartmut.kai...@gmail.com]
Sent: Thursday, June 06, 2019 7:16 PM
To: 'Michael Levine'; 'HPX Users'
Subject: Re: [hpx-users] C++20 Modules and HPX library modularization

Michael,

> Thanks for the quick reply - unfortunately it was deemed spam and since my
> spam folder does not sync on my phone, I didn't see it until I forced an
> update.
>
> I'd certainly be interested and willing to contribute to this effort as
> well as to looking into a possible solution for GPGPUs, although I am
> going to need some guidance and help.
>
> I will respond to each topic in its appropriate thread for continuity.
>
> Given that the modularization of HPX seems to be the key to the successful
> integration of C++ modules, presumably, this should be fairly
> straightforward - the library module boundaries should probably correspond
> to the C++ module boundaries.
>
> Having said that, I will need someone to help me / review with me how to
> map the hpx modules into Modules TD (e.g. "super" - modules which just
> import other modules, which modules might be best broken into submodules,
> etc.)
>
> Is there anyone in the community who might be interested and able to
> provide some guidance?

The modularization effort is spearheaded by the guys at CSCS (Mikhal and
Auriane, both should be subscribed here). They might be the best to contact in
order to coordinate things. Alternatively, they normally can be reached
through our IRC channel.

Thanks!
Regards Hartmut
---------------
http://stellar.cct.lsu.edu
https://github.com/STEllAR-GROUP/hpx


>
> Thanks,
> Michael
>
> ----------
> On May 30, 2019 7:50:57 a.m. "Hartmut Kaiser" <hartmut.kai...@gmail.com>
> wrote:
>
> > Hey Michael,
> >
> >> I am wondering whether there are any plans in the short or mid-term
> >> to provide support in HPX for the new Modules TS which is expected to
> >> be part of C++20?
> >>
> >>
> >> While compile times are not really the main benefit of modules, I
> >> understand that we can expect to see some variable degree of
> >> improvement when using modules as compared to the existing approach.
> >>
> >>
> >> At a very early stage of the Modules TS, I took a quick look through
> >> the HPX codebase to see whether I thought it might be possible at all
> >> to try and add some conditional code to allow for possible modules TS
> >> support and was quickly discouraged.
> >>
> >>
> >> However, it also seems to me that the current modularization
> >> initiative might make it possible to export HPX as modules.
> >>
> >>
> >> Has anyone given this any consideration?
> >> Is this an ultimate goal in anyone's vision?
> >> Would an attempt to incorporate the features of the modules TS be
> >> welcomed by the community? At least, perhaps, as a proof-of-concept?
> >>
> >>
> >> I'd appreciate your thoughts and feedback
> >
> > This topic has not been discussed so far and I personally have not
> > looked much into C++20 modules. However, I believe that the current
> > modularization effort in HPX is most likely to help with introducing
> > C++20 modules. Any help you might want to give would be highly
> appreciated.
> >
> > Thanks!
> > Regards Hartmut
> > ---------------
> > http://stellar.cct.lsu.edu
> > https://github.com/STEllAR-GROUP/hpx
> >
> >
> >
> >
> > _______________________________________________
> > 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
_______________________________________________
hpx-users mailing list
hpx-users@stellar.cct.lsu.edu
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to