Gromacs  2024.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations | Functions
device_stream.h File Reference
#include "config.h"
#include <memory>
#include "gromacs/utility/classhelpers.h"
+ Include dependency graph for device_stream.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declarations for DeviceStream class.

Author
Artem Zhmurov zhmur.nosp@m.ov@g.nosp@m.mail..nosp@m.com
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Classes

class  DeviceStream
 Declaration of platform-agnostic device stream/queue. More...
 

Enumerations

enum  DeviceStreamPriority : int { DeviceStreamPriority::High, DeviceStreamPriority::Normal, DeviceStreamPriority::Count }
 Enumeration describing the priority with which a stream operates. More...
 

Functions

void issueClFlushInStream (const DeviceStream &deviceStream)
 Helper function to flush the commands in OpenCL. No-op in other backends. More...
 

Enumeration Type Documentation

enum DeviceStreamPriority : int
strong

Enumeration describing the priority with which a stream operates.

Enumerator
High 

High-priority stream.

Normal 

Normal-priority stream.

Count 

Conventional termination of the enumeration.

Function Documentation

void issueClFlushInStream ( const DeviceStream deviceStream)

Helper function to flush the commands in OpenCL. No-op in other backends.

Based on the section 5.13 of the OpenCL 1.2 spec (section 5.15 in OpenCL 3.0 spec), a flush is needed in the stream after marking an event in it in order to be able to sync with the event from another stream.