I have created a new branch called rappture. Based on @smarru feedback, we need to work with the current master (that is openMP parallelized) and translate that to rappture friendly version. This will be the subject of this issue. I identify some key steps required here:
OpenMP version is fairly well optimized. However we can get in principle a factor of 2 speedup by going from N^2 to N^2 / 2 in force calculations. @kadupitiya will take rappture branch and adapt this optimization.
We will take the latest job script from branch accelerate and merge it in rappture. Need to edit to reflect 1 node and n procs within. This is our default set of parameters.
We need to simplify input and output; organize input into physical and algorithm/computing parameters. @softmaterialslab/jadhaolab will lead this with @kadupitiya and @smarru joining
we move the current boost input and output into a new function
there is a dependency of some parameters on the user-input
2 output files stored in datafiles folder: last density profiles for + and - ions
std output + progress bar
we have implemented the above features
@smarru will tell us what changes we need to do in Makefile for rappture to read our code
we have done this with continuous feedback from ncn purdue
@smarru will tell us what directories we need to create for rappture and any changes in main.cpp or a metascript generation that is necessary for transition
we went with the metascript approach using python; we split the material in different folders, we have the rappture friendly dirs
@kadupitiya @smarru @softmaterialslab/jadhaolab lead the modification in the metascript or main.cpp that reflects what resources get selected based on user values; what computing parameters get ON based on physical parameters; what range of parameters we want to give in our initial UI; any output requirements we need to communicate to nanoHUB team. @foxsden shares his insights and help on this.
most features on the input side are in. output is under exploration, waiting on updates from @smarru and nanohub
this is done.
@kadupitiya @smarru benchmark tool performance for the selected parameter ranges using our XSEDE nano allocation and IU big red2. Make sure we identify and remove any "bad" parameter choices.
in progress by @kadupitiya
initial benchmarking by @kadupitiya done which produced a tested version of the code. all clear. future benchmarking will be done on nanohub and bigred2.
@softmaterialslab/jadhaolab makes the code public on Dec. 8th.
@softmaterialslab/jadhaolab made this public before target to facilitate nanohub integration
@kadupitiya has requested workspace for on nanoHUB; he takes the git and sends it to nanoHUB requesting for gui development etc.
this ended up being concurrently developed; gui is built with basic functionalities sans output plot, waiting on a testable app run
we all got workspaces; gui is now built, we have output, app test runs done. code for app is portable to local and cluster computing.
I have created a new branch called rappture. Based on @smarru feedback, we need to work with the current master (that is openMP parallelized) and translate that to rappture friendly version. This will be the subject of this issue. I identify some key steps required here:
we move the current boost input and output into a new function
there is a dependency of some parameters on the user-input
2 output files stored in datafiles folder: last density profiles for + and - ions
std output + progress bar
we have implemented the above features
we have done this with continuous feedback from ncn purdue