Skip to content

Conversation

galapaegos
Copy link
Contributor

The MPI version divides the data based on the number of MPI processes used, so we need to use 'm_iEventsPerTask' when making thrust calls on the whole data.

@henryiii henryiii changed the title Dev MPI version Mar 7, 2017
Copy link
Member

@henryiii henryiii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you delete the Makefile.common? I do think it's about time to drop the old Makefiles, so maybe should do that soon. Was originally planning to wait till after 2.0, but too much depends on CMake now

CMakeLists.txt Outdated
@@ -8,6 +8,9 @@ if(EXISTS ${LOC_PATH})
message(FATAL_ERROR "You cannot build in the source directory (or any directory with a CMakeLists.txt file). Please make a build subdirectory.")
endif()

set(OR_GROUPSIZE 128)
set(OR_GRAINSIZE 7)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not enough to get values into C++. You also need to set up a C++ file. See Version.h.

Copy link
Contributor Author

@galapaegos galapaegos Mar 7, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh, I see. Do you recommend that I make a 'ThrustOverride.h.in' to set these values?

Maybe it would be better to modify these two lines as follows?

add_definitions ("-DOR_GROUPSIZE 128")
add_definitions ("-DOR_GRAINSIZE 128")

Either way, the code will need to be recompiled fully.

Copy link
Member

@henryiii henryiii Mar 7, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would probably use the CMake.in, but either would work. I'd make them CMake options, too:

set(GOOFIT_MPI_OR_GROUPSIZE "128" CACHE STRING "The group size for goofit MPI")
...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't worry about full recompiles, they will happen...

#include <thrust/reduce.h>
#include <thrust/detail/seq.h>
#include <thrust/detail/temporary_array.h>
#include <thrust/system/cuda/detail/bulk.h>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These break the OMP build (for example, on Travis), since detail/cuda expects cuda to be available.

Copy link
Member

@henryiii henryiii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can remove goofit/detail/CLI.hpp, since the correct one is goofit/detail/CLI11.hpp

@galapaegos
Copy link
Contributor Author

Deleting Makefile.common was unintentional, I can add it back in until CMake is hard-required.

@henryiii
Copy link
Member

henryiii commented Mar 8, 2017

If you add me to your repository, I can help, or you can make a branch in GooFit official (master is protected, but making a new branch should be available to you).

@galapaegos
Copy link
Contributor Author

Good to know about making branches in GooFit official. I have not pushed my committed changes yet, I am still testing them out right now. I think you can checkout the branch I'm working on by creating a new branch, then calling 'git pull https://github.com/galapaegos/GooFit.git dev' into that branch for my current changes, at least that is how I've been getting the changes for rebasing.

I am currently testing that setting OMP / MPI is working together, and that the override variables are passed properly.

@henryiii
Copy link
Member

henryiii commented Mar 9, 2017

Are you ready to merge? You can still work on it in the GooFit:mpi branch. Looks about ready to me.

@galapaegos
Copy link
Contributor Author

Yes, ready to go!

@henryiii henryiii merged commit eef6e3a into GooFit:mpi Mar 9, 2017
@henryiii henryiii modified the milestone: V 2.0 Jun 8, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants