Move to OpenCL - a crazy idea
|Opened on:||Monday, March 26, 2012 - 18:36|
|Last modified:||Monday, April 2, 2012 - 20:37|
As much I read about OpenCL entire idea of programming in it is to use "machines". Machine is describing behavior and variables of process, function, class etc.
Maybe if we describe behavior of every atom (how much space it need, in what angles it can be connected to other atoms and rest of stuff I`m not aware of) we can create as many atom-machines as many is them in our puzzle. Then when we use any of tool that change position of atoms and forces between machine will automagically and in parallel way calculate rest of parameters and current energy/score. Then another subroutine using data form current state of all machines/atoms will display it to GUI and so on.
As far I understand how it is working now entire thingy is calculated score/positions of every atom one by one. OpenCL allow to use all available resources (all CPUs and all GPUs) and run as many calculations as hardware allow in parallel way. Only limitation is to create good description of machines. Because we not have many types of atom and not so many combination of atoms (aka amino acids) creation of atom micro-machines and segment mini-machines and protein machine is possible?
Maybe it IS created now in similar way but C++ is not allowing us to do such "tricks" and moving it to OpenCL is easier than we think? Project is not open source so I can only guess :)
I hope all this have any sense for real programmer ;]