Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hpx: initial commit #4709

Merged
merged 3 commits into from Jul 12, 2017
Merged

hpx: initial commit #4709

merged 3 commits into from Jul 12, 2017

Conversation

junghans
Copy link
Contributor

@hkaiser
Copy link
Contributor

hkaiser commented Jul 10, 2017

LGTM, thanks! Please let me know if there is anything you'd like us to provide.

@adamjstewart
Copy link
Member

@hkaiser if you know the exact versions of your dependencies that are required that would be helpful.

@hkaiser
Copy link
Contributor

hkaiser commented Jul 10, 2017

@adamjstewart: please see here for the prerequisites.

@adamjstewart
Copy link
Member

The way I usually handle recommended vs. required is to write:

depends_on('boost@1.51:')  # 1.57+ recommended 

If you use the recommended version in depends_on, it makes it physically impossible to build with a lower version. Most of the time, Spack users will build with the newest version of every dependency by default. It's only when they specifically request an older version, or more likely, when they are using an externally installed package, that they need to be able to build old versions.

@hkaiser
Copy link
Contributor

hkaiser commented Jul 11, 2017

@adamjstewart: Ok, understood. I'm just not 100% sure whether things really work any more for the minimal versions listed on that page. As said, we don't test those. I'd feel much better if we agreed to treat the recommended versions as the minimally supported ones.

May I ask to at least raise the minimal versions to Boost 1.55 and hwloc 1.6? I will update the documentation accordingly.

@adamjstewart
Copy link
Member

Yeah, that's fine. If you're interested, I know a lot of developers use Spack to build and test their software. You can literally build a for-loop of your software with every supported version of boost before each new release.

@junghans
Copy link
Contributor Author

junghans commented Jul 11, 2017

May I ask to at least raise the minimal versions to Boost 1.55 and hwloc 1.6? I will update the documentation accordingly.

Done

@alalazo alalazo merged commit a95f40f into develop Jul 12, 2017
@alalazo
Copy link
Member

alalazo commented Jul 12, 2017

@hkaiser OT: Nice to have hpx packaged! I always enjoy the talks of people developing it at the various cpp conferences 😄

@eschnett
Copy link
Contributor

I see that that's quite a minimal configuration for HPX. @hkaiser, what other dependencies would you recommend to get a "good" HPX install?

For example, MPI or jemalloc or PAPI are easily available in Spack, and the HPX package could be set up such that these dependencies are built by default, but can be disabled if desired.

@hkaiser
Copy link
Contributor

hkaiser commented Jul 12, 2017

@eschnett: thanks for bringing this up. So yes, MPI, PAPI, and jemalloc are good candidates. Actually MPI and jemalloc could be quite essential for proper performance.

FWIW, using PAPI would require -DHPX_WITH_PAPI=On, jemalloc needs -DHPX_WITH_MALLOC=jemalloc, and MPI requires -DHPX_WITH_PARCELPORT_MPI=On.

I don't have minimal supported versions for those libraries, though. For PAPI and jemalloc let's go with something recent and sensible. For MPI, any MPI v2 implementation should do.

@eschnett
Copy link
Contributor

I haven't submitted Spack pull requests in some time. Let me cook one up.

@junghans junghans deleted the features/hpx branch July 12, 2017 15:15
@junghans
Copy link
Contributor Author

@eschnett: I want to have the minimal version and then build it up.

The gentoo ebuild I wrote a while back has all the cmake options and deps in it.

@pramodk
Copy link
Contributor

pramodk commented Jul 13, 2017

Should this be renamed to hpx3 to distinguish from IU's hpx-5 implementation?

@junghans
Copy link
Contributor Author

junghans commented Jul 13, 2017

As googling hpx3 leads to no useful results, I would say no! If somebody even contributes a spackage for IU's hpx, it could be named hpx5 similar to bowtie and bowtie2.

@hkaiser
Copy link
Contributor

hkaiser commented Jul 13, 2017

Should this be renamed to hpx3 to distinguish from IU's hpx-5 implementation?

I'd be strongly opposed to that. HPX5 is a dead project, and HPX3 was a badly chosen name selected in the context of a particular funded project. HPX itself was always named this way and all the public records go under this name.

@pramodk
Copy link
Contributor

pramodk commented Jul 13, 2017

If somebody even contributes a spackage for IU's hpx, it could be named hpx5 similar to bowtie and bowtie2

its already in the spack repo as hpx5.

I'd be strongly opposed to that. HPX5 is a dead project, and HPX3 was a badly chosen name selected in the context of a particular funded project. HPX itself was always named this way and all the public records go under this name.

that's fine. Doesn't matter. I created initial package for some user and there was confusion about naming with hpx, hpx-3, hpx-5, ParalleX etc etc.

@hkaiser
Copy link
Contributor

hkaiser commented Jul 13, 2017

I created initial package for some user and there was confusion about naming with hpx, hpx-3, hpx-5, ParalleX etc etc.

Sorry for this confusion. All I can say is that all of this naming mess is 100% outside of our control and has not been caused by us.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants