CUBAR: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
[[File:TheG8.png|right|thumb|CUDA'd-up beyond all repair]]
[[File:TheG8.png|right|thumb|CUDA'd-up beyond all repair]]
[[File:Cudash-hyperboxl.png|right|thumb|cudash in use]]
[[CUDA]] (and [http://en.wikipedia.org/wiki/GPGPU General-Purpose Graphics Processing Unit] programming in general) is rapidly becoming a mainstay of high-performance computing. As CUDA and OpenCL move off of the workstation, and into the server -- off of the console, and into the cluster -- the security of these systems will become critical parts of the associated [http://en.wikipedia.org/wiki/Trusted_computing_base trusted computing base]. Even ignoring the issue of multiuser security, the properties of isolation and (to a lesser extent) confidentiality are important for debugging, profiling and reproducibility. I've authored the <s>cudafucker</s> CUBAR set of tools to investigate the security properties -- primarily the means and parameters of memory protection, and the division of protection between soft- and hardware -- of [[CUDA]] on NVIDIA hardware since the G80 architecture.
[[CUDA]] (and [http://en.wikipedia.org/wiki/GPGPU General-Purpose Graphics Processing Unit] programming in general) is rapidly becoming a mainstay of high-performance computing. As CUDA and OpenCL move off of the workstation, and into the server -- off of the console, and into the cluster -- the security of these systems will become critical parts of the associated [http://en.wikipedia.org/wiki/Trusted_computing_base trusted computing base]. Even ignoring the issue of multiuser security, the properties of isolation and (to a lesser extent) confidentiality are important for debugging, profiling and reproducibility. I've authored the <s>cudafucker</s> CUBAR set of tools to investigate the security properties -- primarily the means and parameters of memory protection, and the division of protection between soft- and hardware -- of [[CUDA]] on NVIDIA hardware since the G80 architecture.


Line 82: Line 81:


==Tools==
==Tools==
[[File:Cudash-hyperboxl.png|right|thumb|cudash in use]]
===CUBAR tools===
===CUBAR tools===
Only those tools which launch CUDA kernels use the Runtime API. They might be converted to the Driver API.
Only those tools which launch CUDA kernels use the Runtime API. They might be converted to the Driver API.