Custom Query (964 matches)
Results (655 - 657 of 964)
Ticket | Owner | Reporter | Resolution | Summary |
---|---|---|---|---|
#788 | Done | IMPORTANT: Update several ROMS processing Matlab scripts | ||
Description |
Several Matlab scripts in various subdirectories were updated or added:
|
|||
#789 | Done | VERY IMPORTANT: ROMS single precision numerical kernel | ||
Description |
ROMS uses double-precision arithmetic in its numerical kernel by default. I have been asked several times what is needed to run in single precision to accelerate the computations. I always answered that it is straightforward since ROMS defines the numerical precision with KIND type parameters in mod_kinds.F globally. That is, of course, very far from reality because we need to look at the accuracy in various computations like:
Therefore, implementing a single-precision numerical kernel was not as trivial as I thought since we need to keep/compute a few variables in double precision with lots of files being modified. What Is New:
NOTICE: on principle single-precision computations run twice as fast as double-precision computations. However, since some double precision computations are carried out for accuracy in SINGLE_PRECISION solutions the gain is less than 50 percent. For example, in a 3-nested grid application on 4 CPUs, I get Elapsed CPU time (seconds): Node # 0 CPU: 4923.242 Node # 1 CPU: 4953.730 Node # 2 CPU: 4953.504 Node # 3 CPU: 4953.539 Total: 19784.015 for double-precision computations Elapsed CPU time (seconds): Node # 0 CPU: 2628.964 Node # 1 CPU: 2683.894 Node # 3 CPU: 2683.867 Node # 2 CPU: 2683.818 Total: 10680.543 for single-precision computations That is, the single-precision is 46 percent faster than the double-precision simulation. In 4D-Var simulations, this number get much smaller because the computations are dominated by I/O. |
|||
#790 | Done | Change allocation of FOURDVAR structure | ||
Description |
|