/
usr
/
local
/
lib64
/
python3.6
/
site-packages
/
torch
/
include
/
caffe2
/
core
/
/usr/local/lib64/python3.6/site-packages/torch/include/caffe2/core
mkdir
upload
Name
Size
Mode
Actions
allocator.h
136
0644
edit
dl
rm
blob.h
4168
0644
edit
dl
rm
blob_serialization.h
10791
0644
edit
dl
rm
blob_serializer_base.h
3905
0644
edit
dl
rm
blob_stats.h
1127
0644
edit
dl
rm
common.h
4329
0644
edit
dl
rm
common_cudnn.h
9893
0644
edit
dl
rm
common_gpu.h
21414
0644
edit
dl
rm
common_omp.h
156
0644
edit
dl
rm
context.h
6174
0644
edit
dl
rm
context_base.h
4382
0644
edit
dl
rm
context_gpu.h
11014
0644
edit
dl
rm
cudnn_wrappers.h
6956
0644
edit
dl
rm
db.h
9352
0644
edit
dl
rm
distributions_stubs.h
2161
0644
edit
dl
rm
event.h
12420
0644
edit
dl
rm
event_cpu.h
1192
0644
edit
dl
rm
export_c10_op_to_caffe2.h
9487
0644
edit
dl
rm
export_caffe2_op_to_c10.h
11101
0644
edit
dl
rm
flags.h
74
0644
edit
dl
rm
graph.h
5258
0644
edit
dl
rm
init.h
6496
0644
edit
dl
rm
logging.h
75
0644
edit
dl
rm
macros.h
3426
0644
edit
dl
rm
memonger.h
817
0644
edit
dl
rm
module.h
2473
0644
edit
dl
rm
net.h
4634
0644
edit
dl
rm
net_async_base.h
7397
0644
edit
dl
rm
net_async_scheduling.h
993
0644
edit
dl
rm
net_async_task.h
833
0644
edit
dl
rm
net_async_task_future.h
1925
0644
edit
dl
rm
net_async_task_graph.h
2253
0644
edit
dl
rm
net_async_tracing.h
5093
0644
edit
dl
rm
net_dag_utils.h
2146
0644
edit
dl
rm
net_parallel.h
2144
0644
edit
dl
rm
net_simple.h
2606
0644
edit
dl
rm
net_simple_refcount.h
2097
0644
edit
dl
rm
numa.h
72
0644
edit
dl
rm
observer.h
3809
0644
edit
dl
rm
operator.h
58872
0644
edit
dl
rm
operator_gradient.h
10222
0644
edit
dl
rm
operator_schema.h
18477
0644
edit
dl
rm
plan_executor.h
219
0644
edit
dl
rm
prof_dag_counters.h
2751
0644
edit
dl
rm
qtensor.h
6615
0644
edit
dl
rm
qtensor_serialization.h
2624
0644
edit
dl
rm
scope_guard.h
4675
0644
edit
dl
rm
static_tracepoint.h
398
0644
edit
dl
rm
static_tracepoint_elfx86.h
5555
0644
edit
dl
rm
stats.h
10365
0644
edit
dl
rm
storage.h
733
0644
edit
dl
rm
tensor.h
18668
0644
edit
dl
rm
tensor_impl.h
351
0644
edit
dl
rm
tensor_int8.h
450
0644
edit
dl
rm
test_utils.h
6285
0644
edit
dl
rm
timer.h
1218
0644
edit
dl
rm
transform.h
5741
0644
edit
dl
rm
types.h
2248
0644
edit
dl
rm
workspace.h
11305
0644
edit
dl
rm
Edit:
/usr/local/lib64/python3.6/site-packages/torch/include/caffe2/core/common.h
(4329B)
#ifndef CAFFE2_CORE_COMMON_H_ #define CAFFE2_CORE_COMMON_H_ #include <algorithm> #include <cmath> #include <map> #include <memory> #include <numeric> #include <set> #include <sstream> #include <string> #include <type_traits> #include <vector> #ifdef __APPLE__ #include <TargetConditionals.h> #endif #if defined(_MSC_VER) #include <io.h> #else #include <unistd.h> #endif // Macros used during the build of this caffe2 instance. This header file // is automatically generated by the cmake script during build. #include "caffe2/core/macros.h" #include <c10/macros/Macros.h> #include "c10/util/string_utils.h" namespace caffe2 { // Note(Yangqing): NVCC does not play well with unordered_map on some platforms, // forcing us to use std::map instead of unordered_map. This may affect speed // in some cases, but in most of the computation code we do not access map very // often, so it should be fine for us. I am putting a CaffeMap alias so we can // change it more easily if things work out for unordered_map down the road. template <typename Key, typename Value> using CaffeMap = std::map<Key, Value>; // using CaffeMap = std::unordered_map; // Using statements for common classes that we refer to in caffe2 very often. // Note that we only place it inside caffe2 so the global namespace is not // polluted. /* using override */ using std::set; using std::string; using std::unique_ptr; using std::vector; // Just in order to mark things as not implemented. Do not use in final code. #define CAFFE_NOT_IMPLEMENTED CAFFE_THROW("Not Implemented.") // suppress an unused variable. #if defined(_MSC_VER) && !defined(__clang__) #define CAFFE2_UNUSED __pragma(warning(suppress : 4100 4101)) #define CAFFE2_USED #else #define CAFFE2_UNUSED __attribute__((__unused__)) #define CAFFE2_USED __attribute__((__used__)) #endif //_MSC_VER // Define alignment macro that is cross platform #if defined(_MSC_VER) && !defined(__clang__) #define CAFFE2_ALIGNED(x) __declspec(align(x)) #else #define CAFFE2_ALIGNED(x) __attribute__((aligned(x))) #endif #if (defined _MSC_VER && !defined NOMINMAX) #define NOMINMAX #endif #if defined(__has_cpp_attribute) #if __has_cpp_attribute(nodiscard) #define CAFFE2_NODISCARD [[nodiscard]] #endif #endif #if !defined(CAFFE2_NODISCARD) #define CAFFE2_NODISCARD #endif using std::make_unique; #if defined(__ANDROID__) && !defined(__NDK_MAJOR__) using ::round; #else using std::round; #endif // defined(__ANDROID__) && !defined(__NDK_MAJOR__) // dynamic cast reroute: if RTTI is disabled, go to reinterpret_cast template <typename Dst, typename Src> inline Dst dynamic_cast_if_rtti(Src ptr) { #ifdef __GXX_RTTI return dynamic_cast<Dst>(ptr); #else return static_cast<Dst>(ptr); #endif } // SkipIndices are used in operator_fallback_gpu.h and operator_fallback_mkl.h // as utility functions that marks input / output indices to skip when we use a // CPU operator as the fallback of GPU/MKL operator option. template <int... values> class SkipIndices { private: template <int V> static inline bool ContainsInternal(const int i) { return (i == V); } template <int First, int Second, int... Rest> static inline bool ContainsInternal(const int i) { return (i == First) || ContainsInternal<Second, Rest...>(i); } public: static inline bool Contains(const int i) { return ContainsInternal<values...>(i); } }; template <> class SkipIndices<> { public: static inline bool Contains(const int /*i*/) { return false; } }; // HasCudaRuntime() tells the program whether the binary has Cuda runtime // linked. This function should not be used in static initialization functions // as the underlying boolean variable is going to be switched on when one // loads libtorch_gpu.so. TORCH_API bool HasCudaRuntime(); TORCH_API bool HasHipRuntime(); namespace internal { // Sets the Cuda Runtime flag that is used by HasCudaRuntime(). You should // never use this function - it is only used by the Caffe2 gpu code to notify // Caffe2 core that cuda runtime has been loaded. TORCH_API void SetCudaRuntimeFlag(); TORCH_API void SetHipRuntimeFlag(); } // namespace internal // Returns which setting Caffe2 was configured and built with (exported from // CMake) TORCH_API const std::map<string, string>& GetBuildOptions(); } // namespace caffe2 #endif // CAFFE2_CORE_COMMON_H_
Save
#ifndef CAFFE2_CORE_COMMON_H_ #define CAFFE2_CORE_COMMON_H_ #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#ifdef __APPLE__ #include
#endif #if defined(_MSC_VER) #include
#else #include
#endif // Macros used during the build of this caffe2 instance. This header file // is automatically generated by the cmake script during build. #include "caffe2/core/macros.h" #include
#include "c10/util/string_utils.h" namespace caffe2 { // Note(Yangqing): NVCC does not play well with unordered_map on some platforms, // forcing us to use std::map instead of unordered_map. This may affect speed // in some cases, but in most of the computation code we do not access map very // often, so it should be fine for us. I am putting a CaffeMap alias so we can // change it more easily if things work out for unordered_map down the road. template
using CaffeMap = std::map
; // using CaffeMap = std::unordered_map; // Using statements for common classes that we refer to in caffe2 very often. // Note that we only place it inside caffe2 so the global namespace is not // polluted. /* using override */ using std::set; using std::string; using std::unique_ptr; using std::vector; // Just in order to mark things as not implemented. Do not use in final code. #define CAFFE_NOT_IMPLEMENTED CAFFE_THROW("Not Implemented.") // suppress an unused variable. #if defined(_MSC_VER) && !defined(__clang__) #define CAFFE2_UNUSED __pragma(warning(suppress : 4100 4101)) #define CAFFE2_USED #else #define CAFFE2_UNUSED __attribute__((__unused__)) #define CAFFE2_USED __attribute__((__used__)) #endif //_MSC_VER // Define alignment macro that is cross platform #if defined(_MSC_VER) && !defined(__clang__) #define CAFFE2_ALIGNED(x) __declspec(align(x)) #else #define CAFFE2_ALIGNED(x) __attribute__((aligned(x))) #endif #if (defined _MSC_VER && !defined NOMINMAX) #define NOMINMAX #endif #if defined(__has_cpp_attribute) #if __has_cpp_attribute(nodiscard) #define CAFFE2_NODISCARD [[nodiscard]] #endif #endif #if !defined(CAFFE2_NODISCARD) #define CAFFE2_NODISCARD #endif using std::make_unique; #if defined(__ANDROID__) && !defined(__NDK_MAJOR__) using ::round; #else using std::round; #endif // defined(__ANDROID__) && !defined(__NDK_MAJOR__) // dynamic cast reroute: if RTTI is disabled, go to reinterpret_cast template
inline Dst dynamic_cast_if_rtti(Src ptr) { #ifdef __GXX_RTTI return dynamic_cast
(ptr); #else return static_cast
(ptr); #endif } // SkipIndices are used in operator_fallback_gpu.h and operator_fallback_mkl.h // as utility functions that marks input / output indices to skip when we use a // CPU operator as the fallback of GPU/MKL operator option. template
class SkipIndices { private: template
static inline bool ContainsInternal(const int i) { return (i == V); } template
static inline bool ContainsInternal(const int i) { return (i == First) || ContainsInternal
(i); } public: static inline bool Contains(const int i) { return ContainsInternal
(i); } }; template <> class SkipIndices<> { public: static inline bool Contains(const int /*i*/) { return false; } }; // HasCudaRuntime() tells the program whether the binary has Cuda runtime // linked. This function should not be used in static initialization functions // as the underlying boolean variable is going to be switched on when one // loads libtorch_gpu.so. TORCH_API bool HasCudaRuntime(); TORCH_API bool HasHipRuntime(); namespace internal { // Sets the Cuda Runtime flag that is used by HasCudaRuntime(). You should // never use this function - it is only used by the Caffe2 gpu code to notify // Caffe2 core that cuda runtime has been loaded. TORCH_API void SetCudaRuntimeFlag(); TORCH_API void SetHipRuntimeFlag(); } // namespace internal // Returns which setting Caffe2 was configured and built with (exported from // CMake) TORCH_API const std::map
& GetBuildOptions(); } // namespace caffe2 #endif // CAFFE2_CORE_COMMON_H_