# #define SEQAN_DEVICE
Prefix for functions working only on device side.

Defined in | <seqan/platform.h>
Signature | `#define SEQAN_DEVICE`

## Detailed Description

This macro must be placed in front of functions that can be callable only from device side. The macro expands to `__device__` on CUDA-capable compilers and is ignored otherwise.

### Remarks

Note that a device function containing CUDA intrinsics will not compile on non CUDA-capable compilers. Therefore, to insure graceful compilation, it is still necessary to wrap CUDA-intrinsic code inside __CUDA_ARCH__ defines.

## Data Races

Thread safety unknown!

## See Also

- SEQAN_GLOBAL
- SEQAN_HOST
- SEQAN_HOST_DEVICE

#### Dox Sources

    /*!
     * @macro SEQAN_DEVICE
     *
     * @headerfile <seqan/platform.h>
     *
     * @brief Prefix for functions working only on device side.
     *
     * @signature #define SEQAN_DEVICE
     *
     * This macro must be placed in front of functions that can be callable only
     * from device side. The macro expands to <tt>__device__</tt> on CUDA-capable
     * compilers and is ignored otherwise.
     *
     * @section Remarks
     *
     * Note that a device function containing CUDA intrinsics will not compile on
     * non CUDA-capable compilers. Therefore, to insure graceful compilation, it is
     * still necessary to wrap CUDA-intrinsic code inside __CUDA_ARCH__ defines.
     *
     * @see SEQAN_HOST_DEVICE
     * @see SEQAN_HOST
     * @see SEQAN_GLOBAL
     */