A PluginConfig describes the set of plugins to be used by a StreamExecutor instance. Each plugin is defined by an arbitrary identifier, usually best set to the address static member in the implementation (to avoid conflicts). A PluginConfig may be passed to the StreamExecutor constructor - the plugins described therein will be used to provide BLAS, DNN, FFT, and RNG functionality. Platform-approp
| 58 | // targets. See the cuda, opencl and host BUILD files for implemented plugin |
| 59 | // support (search for "plugin"). |
| 60 | class PluginConfig { |
| 61 | public: |
| 62 | // Value specifying the platform's default option for that plugin. |
| 63 | static const PluginId kDefault; |
| 64 | |
| 65 | // Initializes all members to the default options. |
| 66 | PluginConfig(); |
| 67 | |
| 68 | bool operator==(const PluginConfig& rhs) const; |
| 69 | |
| 70 | // Sets the appropriate library kind to that passed in. |
| 71 | PluginConfig& SetBlas(PluginId blas); |
| 72 | PluginConfig& SetDnn(PluginId dnn); |
| 73 | PluginConfig& SetFft(PluginId fft); |
| 74 | PluginConfig& SetRng(PluginId rng); |
| 75 | |
| 76 | PluginId blas() const { return blas_; } |
| 77 | PluginId dnn() const { return dnn_; } |
| 78 | PluginId fft() const { return fft_; } |
| 79 | PluginId rng() const { return rng_; } |
| 80 | |
| 81 | private: |
| 82 | PluginId blas_, dnn_, fft_, rng_; |
| 83 | }; |
| 84 | |
| 85 | } // namespace stream_executor |
| 86 |
no outgoing calls
no test coverage detected