brain-life/encode

Merge Batch_Karst branch to master

soichih opened this issue · 5 comments

I just realized that we haven't finished merging Batch_Karst branch (that has a MEX files) to master. I am using Batch_Karst branch code for app-life and ideally, I'd like to switch using the master branch instead.

Can we simply do

git checkout master
git merge Batch_Karst

?

@soichih yes. Perhaps we can make a release right before we do that?

I've created "1.0" branch from master.

Ok, so I am trying to merge Batch_Karst to master. I am seeing following conflict.

@ccaiafa How should I resolve this? Just take what's in Batch_Karst? (use round(nFibers/nBatch)? For MAXMEM calculation, I think we should pick more conservative max (use *1500).

<<<<<<< HEAD
%nNodesMax = round(MAXMEM*30000000/32000000); % In Karst we have available 32,000,000kb of memory, which allows to process up to 30,000,000 nodes;

nNodesMax = round(MAXMEM*15000000/32000000); % 
=======
nNodesMax = round(MAXMEM*30000000/32000000); % In Karst we have available 32,000,000kb of memory, which allows to process up to 30,000,000 nodes;
>>>>>>> origin/Batch_Karst

nTotalNodes = fefgGet(fe.fg,'n total nodes');
nFibers      = feGet(fe,'n fibers');
nBatch = ceil(nTotalNodes/nNodesMax); % Number of batch
<<<<<<< HEAD
nFib_Batch = ceil(nFibers/nBatch); % Number of fibers per batch
=======
nFib_Batch = round(nFibers/nBatch); % Number of fibers per batch
>>>>>>> origin/Batch_Karst


Hi @soichih, yes to keep batch functionality working you should leave as it is in Batch_Karst branch. Of course you can adjust the use of number of batches depending on the capability of the system where you intend to run ENCODE.
My only concern is that Batch_Karst was designed to run only in Karst (it uses OpenMP implementation) and master is what our paper point out as shared version of ENCODE, i.e. for any platform (not Karst).
Best
Cesar.

OK. I've merged it.

I think most computing resources now-a-days have multiple processors. They should all run with openmp code. If this becomes an issue, we should add some if statement inside the code to use non-openmp version of the code; it should not be a separate branch.

Closing this for now.

Sounds good. Thanks