Hi Sean, NJN,Thanks for your comments, that's really helpful and in the form I was looking for.Sean, as for the most of the questions that's a good advice (either per process, or globally, there are cases where I'd like that or the other and better experiment to find the difference).Regarding the configuration, maybe I can elaborate a little more about the issue and it can serve as an example.I'm about to port some of CAM code to GPU using OpenCL in Fortran. An effort was already done to bring the OpenCL API available to Fortran in native mode (no C/C++ involved, pure Fortran), a library called CLFORTRAN that should be released soon as LGPL (licensing model already approved legally, but there are some more formal actions to be taken).The idea with the configuration parameter is to allow the user decide whether to enable GPU support/routines for a specific case or not.
Currently for me mostly, targeting development purposes (and still making no runtime changes for ordinary users of the installation), but in the future as a selection parameter for production runtime. When setting the value of "GPU_SUPPORT"/"USE_GPU" (or so) to 1, the runtime will use the GPU routines etc.There are more challanges of course involved, but only to address some basic technical barriers.NJN, I had a chance to find the documents you mentioned and they do provide valuable information, but mostly in general and administration (coding styles etc.). I couldn't find more technical topics like the knowledge Sean shared about each component or CESM.
Even if there is no wiki with such details, I hope that the forum can be a good source for any future developer involved in such activity.Thanks,
Moti.