-
Notifications
You must be signed in to change notification settings - Fork 516
Extension to mpi programs #351
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
Open
incardon
wants to merge
108
commits into
cs01:master
Choose a base branch
from
incardon:extension_to_mpi_programs
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
108 commits
Select commit
Hold shift + click to select a range
497a751
Adding MPI support continuing
incardon 831c5de
Adding multi process GUI elements
incardon 20c9cf8
Process on focus
incardon cf7307e
Adding MPI support
incardon 936bc39
Cluster
incardon b3a0ffa
Adding mossing file
incardon 79e49ba
Nox testing passing
incardon 7bc9406
First pytest for mpi version
incardon ffc4ae8
Refactoring tests for MPI
incardon c68ae89
Testing JS with puppeters
incardon 905b189
Merge pull request #1 from cs01/master
incardon a867e74
Fixing package.json
incardon c7e1cef
MPI extension working with Pty
incardon fc29ead
Fixing tests
incardon 49498bb
Fixing format to pass check
incardon 082cb87
Removing garbage
incardon 5d9e4f3
Adding openmpi to the testing machines
incardon 0f96f84
Adding openmpi to the testing machines
incardon 127580a
Adding openmpi to the testing machines (again)
incardon d54b6d9
Fixing compiling nodes_name
incardon c9b1ef3
Making the test more general
incardon 965c243
Fixing python test for Azure CI servers
incardon a0e3f06
Trying 127.0.0.1 for debug session connection
incardon 4979556
Install gdbserver in the CI machines
incardon cbd0230
Troubleshooting ...
incardon 2d3dec0
Moving from shell to bash
incardon 1260136
Fixing test
incardon 66d1bf4
Fixing Javascript test jest calling
incardon feacf2c
Fixing Javascript test jest calling
incardon f4b9a4b
Moving js to ts for the testing script
incardon 2e7a337
Cancel workflow
incardon eac3fd7
Adding timeout
incardon a814d29
Checking Adding timeout
incardon 469b73b
Apply small review changes
incardon cdd0ace
Retry with timeout
incardon aef0ef2
Timeout to 8 min
incardon f9ae0a6
Removing __main__ and __init__ in gdbgui-mpi
incardon f528fff
try to fix CI machines Stuck (still good to review)
incardon 11d55e5
try to fix CI machines Stuck
incardon a4be66b
CI again ...
incardon ecf29e4
CI again ...
incardon 2c3ecde
CI again ...
incardon 497703b
CI again ...
incardon 1d7b681
Trying without shell
incardon 889fc82
CI again ...
incardon c7ee38d
CI again ...
incardon efc49b7
CI again ...
incardon 9627de0
CI again ...
incardon 6538702
Moving build before test in js_tests ...
incardon 9648fd3
CI run after nox fix in previous commit
incardon cbb95ef
Fixing lint test
incardon cb1c7b1
Moving requirement of flaskio to setup.py
incardon b213761
Merge pull request #2 from cs01/master
incardon 79fdd65
Fixing gdbgui with OpenFPM
9b94f15
Fixing conflicts
e8e0deb
Fixing github
1cb1950
Running setup.py before python testing
3273965
Adding python 3.9 amd fixing tests
259460d
Adding more time for print node file
e15ae69
Adding additional output in case of error
580ffab
More output
f42ed39
Fixing launching of print nodes
7f14fe5
Fixing launching of debugger
a9d89f4
Fixing lint
5088b53
Fixing lint and tests
b2a76be
Increase timeout limit
5583e09
Increase timeout limit
0af6893
Increase timeout limit
66e13ec
Eliminating potential deadlock
ea666ac
Reducing to two sessions instead of six
923a620
Forcing error t checl
ddebde7
Checking process.terminate ... does not terminate on github
9e22d9c
Checking process.terminate ... does not terminate on github
81f9565
Checking process.terminate ... does not terminate on github
e277bbd
More analyze
25d5a5e
More analyze
6c6abb1
More analyze
b0db403
More robust detection
6c27678
Fixing tests
1b7369d
Fixing tests
c8048e7
Fixing tests
973ac13
Fixing pagination and sigint
incardon e0f6c9d
Fixing syntax
incardon 3e71552
Fixing syntax
incardon 37a6353
Fixing syntax
incardon 0c27d40
Fixing syntax
incardon 39ee11f
Fixing lint
incardon 93831e6
Fixing lint
incardon 8d15c97
Fixing test
incardon 6af6f3f
Fixing SIGINT for MPI
incardon 38c1e75
Set timeout for launching gdbgui server
incardon 01059cd
Set timeout for launching gdbgui server
incardon d261481
Set timeout for launching gdbgui server
incardon 3d6c4aa
Fixing lint
incardon 9e2a8ae
Fixing test timeout
incardon 9133063
Adding saving breakpoints on cookies
incardon 48c805a
Fixing breakpoints saved on cookies + activate tests
incardon e85a796
Fixing format
incardon e6fe204
Fixing cookies breakpoints
incardon 509c596
Fixing formatting
incardon 56ab743
Adding bigger timeout for connection
incardon 722df00
Increasing even more timeout
incardon 0b7bffb
Reducing number of processors for testing to 2
incardon d39f0e8
Adding case where the first breakpoint is at line 8 rather than 10
incardon 488f4fb
Fixing gdbgui
incardon 1252c83
Merge branch 'extension_to_mpi_programs' of https://github.com/incard…
incardon d8cded6
Fixing Pagination ... again
incardon fa184cc
Fixing lint
incardon File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#! /bin/bash | ||
|
||
mpic++ -g -O0 -o print_nodes main.cpp |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/bin/sh | ||
# Usage: debug_server.sh <executable> <arguments> | ||
|
||
GDB_HOST=$(hostname) | ||
GDB_PORT=$(( 60000 + $OMPI_COMM_WORLD_RANK )) | ||
echo "GDB server for rank $OMPI_COMM_WORLD_RANK available on $GDB_HOST:$GDB_PORT" | ||
exec gdbserver :$GDB_PORT $* | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#!/bin/bash | ||
|
||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" | ||
|
||
mpirun --oversubscribe -np $1 $DIR/print_nodes | ||
if [ ! -d gdbgui-mpi ]; then | ||
mkdir gdbgui-mpi | ||
fi | ||
mv nodes_name gdbgui-mpi/ | ||
mpirun --oversubscribe -np $1 $DIR/launch_gdb_server ${@:2} # & | ||
rm nodes_name | ||
#python -m gdbgui-mpi | ||
|
||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
#include <mpi.h> | ||
#include <stdio.h> | ||
#include <unistd.h> | ||
#include <string> | ||
#include <sstream> | ||
#include <iostream> | ||
|
||
int main(int argc, char** argv) { | ||
// Initialize the MPI environment | ||
MPI_Init(NULL, NULL); | ||
|
||
// Get the number of processes | ||
int world_size; | ||
MPI_Comm_size(MPI_COMM_WORLD, &world_size); | ||
|
||
// Get the rank of the process | ||
int world_rank; | ||
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); | ||
|
||
char name_[256]; | ||
int ret = gethostname(name_,256); | ||
std::string name(name_); | ||
|
||
if (ret == 0) | ||
{ | ||
int name_max_s = name.size()+1; | ||
int name_max_r = 0; | ||
|
||
MPI_Allreduce(&name_max_s,&name_max_r,1,MPI_INT,MPI_MAX,MPI_COMM_WORLD); | ||
|
||
std::stringstream ss; | ||
|
||
ss.width(10); | ||
ss << std::left << world_rank; | ||
ss.width(name_max_r); | ||
ss << name << std::endl; | ||
|
||
std::string proc_name = ss.str(); | ||
|
||
if (world_rank == 0) | ||
{ | ||
char * nodes; | ||
nodes = new char [(proc_name.size()+1)*world_size]; | ||
MPI_Gather(proc_name.c_str(),proc_name.size()+1,MPI_CHAR, | ||
nodes,proc_name.size()+1,MPI_CHAR,0,MPI_COMM_WORLD); | ||
|
||
// fiter names | ||
std::stringstream sf; | ||
|
||
for (int i = 0 ; i < world_size ; i++) | ||
{ | ||
sf << std::string(&nodes[i*(proc_name.size()+1)]); | ||
} | ||
|
||
FILE * pFile; | ||
pFile = fopen("nodes_name","w"); | ||
if (pFile!=NULL) | ||
{ | ||
fputs (sf.str().c_str(),pFile); | ||
fclose (pFile); | ||
} | ||
else | ||
{ | ||
printf("Error cannot create nodes_name \n"); | ||
} | ||
} | ||
else | ||
{ | ||
MPI_Gather(proc_name.c_str(),proc_name.size()+1,MPI_CHAR, | ||
NULL,0,MPI_CHAR,0,MPI_COMM_WORLD); | ||
} | ||
} | ||
else | ||
{ | ||
MPI_Abort(MPI_COMM_WORLD,-1); | ||
} | ||
|
||
// Finalize the MPI environment. | ||
MPI_Finalize(); | ||
} | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the
gdbgui-mpi
folder might fit better inexamples/mpi
. There are already examples in theexamples
folder.