GPU: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(r.mapcalc: already has pthreads support but only for parsing! i.rectify has been modernized. referring to G7 now)
m (ll)
Line 10: Line 10:
* As I understand it, CUDA is 100% dependent on the closed-source binary driver from nVidia and works on their video cards alone. Which is fine for today for people with nVidia hardware using their binary video card driver. If nVidia decides in a couple of years to stop supporting CUDA, your old card, your specific OS or distro, your OS or distro version+cpu type, or if they go out of business or are bought/sold to another company who is not interested, any code based on it becomes useless. For this reason code written for an open platform such as OpenCL, even if less advanced, seems to have a brighter long-term future. -- ''HB''
* As I understand it, CUDA is 100% dependent on the closed-source binary driver from nVidia and works on their video cards alone. Which is fine for today for people with nVidia hardware using their binary video card driver. If nVidia decides in a couple of years to stop supporting CUDA, your old card, your specific OS or distro, your OS or distro version+cpu type, or if they go out of business or are bought/sold to another company who is not interested, any code based on it becomes useless. For this reason code written for an open platform such as OpenCL, even if less advanced, seems to have a brighter long-term future. -- ''HB''


* Support for double precision floating point values must be retained for calculations which deal with positional data. For elevation and radiometric data floating point precision may be enough.
* Support for double precision floating point values must be retained for calculations which deal with positional data (as sub-meter precision for lat/long exceeds single-precision floating poing). For elevation and radiometric data floating point precision may be enough.


== Further reading ==
== Further reading ==

Revision as of 07:55, 30 April 2013

Comments from the mailing list concerning GRASS and GPU parallelization:

  • As I understand it, CUDA is 100% dependent on the closed-source binary driver from nVidia and works on their video cards alone. Which is fine for today for people with nVidia hardware using their binary video card driver. If nVidia decides in a couple of years to stop supporting CUDA, your old card, your specific OS or distro, your OS or distro version+cpu type, or if they go out of business or are bought/sold to another company who is not interested, any code based on it becomes useless. For this reason code written for an open platform such as OpenCL, even if less advanced, seems to have a brighter long-term future. -- HB
  • Support for double precision floating point values must be retained for calculations which deal with positional data (as sub-meter precision for lat/long exceeds single-precision floating poing). For elevation and radiometric data floating point precision may be enough.

Further reading

  • Steinbach, M., Hemmerling, R., 2011. Accelerating batch processing of spatial raster analysis using GPU. Computers & Geosciences. DOI
  • See the "Parallelization" category listing at the bottom of this page.

Modules of interest to be parallelized

The target version will be GRASS 7 (alias SVN trunk).