1/* Copyright 2015 The TensorFlow Authors. All Rights Reserved.
2
3Licensed under the Apache License, Version 2.0 (the "License");
4you may not use this file except in compliance with the License.
5You may obtain a copy of the License at
6
7 http://www.apache.org/licenses/LICENSE-2.0
8
9Unless required by applicable law or agreed to in writing, software
10distributed under the License is distributed on an "AS IS" BASIS,
11WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12See the License for the specific language governing permissions and
13limitations under the License.
14==============================================================================*/
15
16#ifndef TENSORFLOW_CORE_UTIL_PORT_H_
17#define TENSORFLOW_CORE_UTIL_PORT_H_
18
19namespace tensorflow {
20
21// Returns true if GOOGLE_CUDA is defined.
22bool IsGoogleCudaEnabled();
23
24// Returns true if TENSORFLOW_USE_ROCM is defined. (i.e. TF is built with ROCm)
25bool IsBuiltWithROCm();
26
27// Returns true if TENSORFLOW_USE_XLA is defined. (i.e. TF is built with XLA)
28bool IsBuiltWithXLA();
29
30// Returns true if TENSORFLOW_USE_NVCC is defined. (i.e. TF is built with nvcc)
31bool IsBuiltWithNvcc();
32
33// Returns true if either
34//
35// GOOGLE_CUDA is defined, and the given CUDA version supports
36// half-precision matrix multiplications and convolution operations.
37//
38// OR
39//
40// TENSORFLOW_USE_ROCM is defined
41//
42bool GpuSupportsHalfMatMulAndConv();
43
44// Returns true if INTEL_MKL is defined
45bool IsMklEnabled();
46
47} // end namespace tensorflow
48
49#endif // TENSORFLOW_CORE_UTIL_PORT_H_
50