-
-
Notifications
You must be signed in to change notification settings - Fork 427
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
Hung test leads to cascading test failure; make tests should support the MPI parcelport #879
Comments
What do you suggest? |
If HPX is supposed to be able to run multiple times on a node, then this is an error that needs to be corrected. If HPX has not been designed for this, then I suggest to make this possible. For example, if HPX wants to use a particular port range, then it could check at startup whether this range is available, and if not, choose a different range. Since this uses the MPI parcelport, I would expect HPX to use MPI for communication, which should have this problem already solved. |
You're right that this shouldn't happen when the MPI parcel port is used. I will fix this. (EDIT: Thomas' suggestion below solves this issue). I'm not sure if just binding to an arbitrary port from a given range is a good idea. It might be appropriate to do when the application is run on a single locality, but it will not be possible to implement in the general case for distributed applications. Those assume using a given port (on the console) in order to successfully connect worker localities. As a workaround you can always specify the used ports, e.g.
|
Even though the MPI parcelport is used. The tcp parcelport is started as well, which leads to this error. In order to avoid that problem completely, you can disable the TCP parcelport via command line by using |
kill_process_tree in python.py might be the problem. Let me look in this. On Wed, Sep 25, 2013 at 11:21 AM, Hartmut Kaiser
|
Closed prematurely. We need to add an option to disable the TCP parcelport at compile time. |
Is there a way to disable the TCP parcelport for the self tests? (Disabling it a build time would also work.) |
Am 25.09.2013 19:39 schrieb "Erik Schnetter" notifications@github.com:
Unfortunately not... Right now the self tests are hardcoded to be used with
|
That's not entirely correct. The tests use whatever is configured as the default. A simple
does the trick. Moreover, there is a way to pass arbitrary arguments from the |
Ok, I figured it out. This feature has been accidentally removed when we switched to CTest. I reopened #843: Tests should use CTest and added a comment there. |
When I use this to run the tests, they fail with
|
Yah, Thomas just reminded me that you still need to run the tests with |
BTW - the cleanup code in hpx_run_tests.py has recently been made more robust. Previously it only killed direct children of the parent process. |
Fixed, you can now pass arguments via |
What about the MPI psrcelport? How is it properly started? |
Wouldn't
do the trick already? |
Am 10.10.2013 13:13 schrieb "Hartmut Kaiser" notifications@github.com:
No. You still need to call the tests with mpirun.
|
I thought that HPX could launch the MPI parcelport without mpirun? Isn't that why we needed HPX_TEST_ARGUMENTS? |
You can now do the following:
The invocation of the tests is now formatted like this:
|
What's left to do here? |
This issue has been resolved. The testsuite is testing all parcelports and failed tests are cleaned by ctest. |
From time to time, an HPX program refuses to start with the error message
I am using the MPI parcelport, and start the program via mpirun; in this case via
This error seems to occur when another HPX program is running on my workstation. This could be either an old program that didn't shut down properly and is running in the background, or (in this case) HPX programs running via "make tests".
The text was updated successfully, but these errors were encountered: