GeneralRulesΒΆ
General CUDA rules
Nested Rules
Use CUDA after host program initiation and before host program termination |
|
Synchronize with all devices before termination |
|
Check for errors after calling any CUDA library interface |
|
Check for errors after launching a kernel by calling cudaGetLastError |
|
Treat CUdevice objects as handles not integers |
|
A call to fork must be immediately followed to a call to exec |
|
Be consistent with execution space and kernel function specifiers across all declarations |
|
Kernel parameters passed by value should be trivial |
|
Kernel parameters passed by reference should be managed storage duration objects |
|
Never use CUDA_ARCH to guard CUDA declarations |
|
Do not modify CUDA language specific macro names |
|
Constant memory objects shall not be modified from the device program |
|
No thread_local storage duration objects in device code |
|
A implicit thread block synchronization function should be called by all active threads |
Options
Setting an option for this rule means setting the default for all nested rules.
This rule shares the following common options: exclude_in_macros, exclude_messages_in_system_headers, excludes, extend_exclude_to_macro_invocations, includes, justification_checker, languages, post_processing, provider, report_at, severity
The following places define options that affect this rule: Stylechecks, Analysis-GlobalOptions
This rule has no individual options.