Attention une mise à jour du serveur va être effectuée le vendredi 16 avril entre 12h et 12h30. Cette mise à jour va générer une interruption du service de quelques minutes.

Commit f5f87c3c authored by Martin Khannouz's avatar Martin Khannouz Committed by Berenger Bramas

Fix compilation issue due to the merge. (still not working)

parent 9f7eafc9
......@@ -907,7 +907,7 @@ protected:
MortonIndex interactionsIndexes[26];
int interactionsPosition[26];
FTreeCoordinate coord(mindex, tree->getHeight()-1);
FTreeCoordinate coord(mindex);
int counter = coord.getNeighborsIndexes(tree->getHeight(),interactionsIndexes,interactionsPosition);
for(int idxInter = 0 ; idxInter < counter ; ++idxInter){
......@@ -995,7 +995,7 @@ protected:
MortonIndex interactionsIndexes[189];
int interactionsPosition[189];
const FTreeCoordinate coord(mindex, idxLevel);
const FTreeCoordinate coord(mindex);
int counter = coord.getInteractionNeighbors(idxLevel,interactionsIndexes,interactionsPosition);
for(int idxInter = 0 ; idxInter < counter ; ++idxInter){
......
......@@ -1679,19 +1679,14 @@ protected:
/////////////////////////////////////////////////////////////////////////////////////
/// Mpi Function overload
/////////////////////////////////////////////////////////////////////////////////////
#define LIMIT_SIZE_MPI 1000000//1Mo
void mpiPostISend(starpu_data_handle_t handle, const int dest, const int level, const MortonIndex startingIndex, const int idxBlock, const int mode)
{
size_t size = starpu_data_get_size(handle);
const size_t limitSize = LIMIT_SIZE_MPI;
starpu_mpi_isend_detached(handle, dest,
getTag(level,startingIndex,idxBlock, mode, dest),
comm.getComm(), 0/*callback*/, 0/*arg*/ );
}
void mpiPostIRecv(starpu_data_handle_t handle, const int dest, const int level, const MortonIndex startingIndex, const int idxBlock, const int mode)
{
size_t size = starpu_data_get_size(handle);
const size_t limitSize = LIMIT_SIZE_MPI;
starpu_mpi_irecv_detached(handle, dest,
getTag(level,startingIndex,idxBlock, mode, dest),
comm.getComm(), 0/*callback*/, 0/*arg*/ );
......
......@@ -103,14 +103,14 @@ int main(int argc, char* argv[]){
setSeed(1);
FReal * tmpParticles = new FReal[4*loader.getNumberOfParticles()];
if(FParameters::existParameter(argc, argv, "-ellipsoid")) {
nonunifRandonPointsOnElipsoid(loader.getNumberOfParticles(), loader.getBoxWidth()/2, loader.getBoxWidth()/4, loader.getBoxWidth()/8, tmpParticles);
nonunifRandomPointsOnElipsoid(loader.getNumberOfParticles(), loader.getBoxWidth()/2, loader.getBoxWidth()/4, loader.getBoxWidth()/8, tmpParticles);
}
else if(FParameters::existParameter(argc, argv, "-plummer")) {
//The M argument is not used in the algorithm of the plummer distribution
unifRandonPlummer(loader.getNumberOfParticles(), loader.getBoxWidth()/2, 0.0, tmpParticles) ;
unifRandomPlummer(loader.getNumberOfParticles(), loader.getBoxWidth()/2, tmpParticles) ;
}
else { //Uniform cube
unifRandonPointsOnCube(loader.getNumberOfParticles(), loader.getBoxWidth()/2, loader.getBoxWidth()/2, loader.getBoxWidth()/2, tmpParticles);
unifRandomPointsInCube(loader.getNumberOfParticles(), loader.getBoxWidth()/2, loader.getBoxWidth()/2, loader.getBoxWidth()/2, tmpParticles);
}
#endif
......
......@@ -120,14 +120,14 @@ int main(int argc, char* argv[]){
setSeed(i+1);//Add +1 so the seed given is never 0 which correspond to random
FReal * tmpParticles = new FReal[4*NbParticlesPerNode];
if(FParameters::existParameter(argc, argv, "-ellipsoid")) {
nonunifRandonPointsOnElipsoid(NbParticlesPerNode, boxWidth/2, boxWidth/4, boxWidth/8, tmpParticles);
nonunifRandomPointsOnElipsoid(NbParticlesPerNode, boxWidth/2, boxWidth/4, boxWidth/8, tmpParticles);
}
else if(FParameters::existParameter(argc, argv, "-plummer")) {
//The M argument is not used in the algorithm of the plummer distribution
unifRandonPlummer(NbParticlesPerNode, boxWidth/2, 0.0, tmpParticles) ;
unifRandomPlummer(NbParticlesPerNode, boxWidth/2, tmpParticles) ;
}
else { //Uniform cube
unifRandonPointsOnCube(NbParticlesPerNode, boxWidth/2, boxWidth/2, boxWidth/2, tmpParticles);
unifRandomPointsInCube(NbParticlesPerNode, boxWidth/2, boxWidth/2, boxWidth/2, tmpParticles);
}
for(FSize j= 0 ; j < NbParticlesPerNode ; ++j){
allParticlesToSort[idxPart].setPosition(tmpParticles[j*4], tmpParticles[j*4+1], tmpParticles[j*4+2]);//Same with file or not
......
......@@ -123,14 +123,13 @@ int main(int argc, char* argv[]){
memset(allParticles,0,(unsigned int) (sizeof(TestParticle)* loader.getNumberOfParticles()));
memset(tmpParticles,0,(unsigned int) (sizeof(FReal)* loader.getNumberOfParticles() * 4));
if(FParameters::existParameter(argc, argv, "-ellipsoid")) {
nonunifRandonPointsOnElipsoid(loader.getNumberOfParticles(), boxWidth/2, boxWidth/4, boxWidth/8, tmpParticles);
nonunifRandomPointsOnElipsoid(loader.getNumberOfParticles(), boxWidth/2, boxWidth/4, boxWidth/8, tmpParticles);
}
else if(FParameters::existParameter(argc, argv, "-plummer")) {
//The M argument is not used in the algorithm of the plummer distribution
unifRandonPlummer(loader.getNumberOfParticles(), boxWidth/2, 0.0, tmpParticles) ;
unifRandomPlummer(loader.getNumberOfParticles(), boxWidth/2, tmpParticles) ;
}
else { //Uniform cube
unifRandonPointsOnCube(loader.getNumberOfParticles(), boxWidth/2, boxWidth/2, boxWidth/2, tmpParticles);
unifRandomPointsInCube(loader.getNumberOfParticles(), boxWidth/2, boxWidth/2, boxWidth/2, tmpParticles);
}
for(FSize idxPart = 0 ; idxPart < loader.getNumberOfParticles() ; ++idxPart){
......
......@@ -99,14 +99,14 @@ int main(int argc, char* argv[]){
memset(allParticles,0,(unsigned int) (sizeof(TestParticle)* loader.getNumberOfParticles()));
memset(tmpParticles,0,(unsigned int) (sizeof(FReal)* loader.getNumberOfParticles() * 4));
if(FParameters::existParameter(argc, argv, "-ellipsoid")) {
nonunifRandonPointsOnElipsoid(loader.getNumberOfParticles(), boxWidth/2, boxWidth/4, boxWidth/8, tmpParticles);
nonunifRandomPointsOnElipsoid(loader.getNumberOfParticles(), boxWidth/2, boxWidth/4, boxWidth/8, tmpParticles);
}
else if(FParameters::existParameter(argc, argv, "-plummer")) {
//The M argument is not used in the algorithm of the plummer distribution
unifRandonPlummer(loader.getNumberOfParticles(), boxWidth/2, 0.0, tmpParticles) ;
unifRandomPlummer(loader.getNumberOfParticles(), boxWidth/2, tmpParticles) ;
}
else { //Uniform cube
unifRandonPointsOnCube(loader.getNumberOfParticles(), boxWidth/2, boxWidth/2, boxWidth/2, tmpParticles);
unifRandomPointsInCube(loader.getNumberOfParticles(), boxWidth/2, boxWidth/2, boxWidth/2, tmpParticles);
}
for(FSize idxPart = 0 ; idxPart < loader.getNumberOfParticles() ; ++idxPart){
......@@ -142,7 +142,7 @@ int main(int argc, char* argv[]){
loader.getBoxWidth(),
TreeHeight,
myParticles[myParticles.getSize()-1].position );
const MortonIndex myLeftLimite = host.getMortonIndex(TreeHeight-1);
const MortonIndex myLeftLimite = host.getMortonIndex();
MortonIndex leftLimite = -1;
if(mpiComm.global().processId() != 0){
FMpi::Assert(MPI_Recv(&leftLimite, sizeof(leftLimite), MPI_BYTE,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment