/
usr
/
local
/
lib64
/
python3.6
/
site-packages
/
torch
/
include
/
torch
/
csrc
/
jit
/
tensorexpr
/
/usr/local/lib64/python3.6/site-packages/torch/include/torch/csrc/jit/tensorexpr
mkdir
upload
Name
Size
Mode
Actions
operators/
-
0755
rm
analysis.h
5888
0644
edit
dl
rm
block_codegen.h
4211
0644
edit
dl
rm
bounds_inference.h
2230
0644
edit
dl
rm
bounds_overlap.h
3329
0644
edit
dl
rm
codegen.h
6402
0644
edit
dl
rm
cpp_codegen.h
2278
0644
edit
dl
rm
cpp_intrinsics.h
719
0644
edit
dl
rm
cuda_codegen.h
7782
0644
edit
dl
rm
cuda_random.h
2642
0644
edit
dl
rm
dim_arg.h
884
0644
edit
dl
rm
eval.h
9639
0644
edit
dl
rm
exceptions.h
3253
0644
edit
dl
rm
expr.h
11588
0644
edit
dl
rm
external_functions.h
1274
0644
edit
dl
rm
external_functions_registry.h
2343
0644
edit
dl
rm
fwd_decls.h
2806
0644
edit
dl
rm
graph_opt.h
2553
0644
edit
dl
rm
half_support.h
5038
0644
edit
dl
rm
hash_provider.h
7930
0644
edit
dl
rm
intrinsic_symbols.h
420
0644
edit
dl
rm
ir.h
22622
0644
edit
dl
rm
ir_cloner.h
2069
0644
edit
dl
rm
ir_mutator.h
2010
0644
edit
dl
rm
ir_printer.h
3693
0644
edit
dl
rm
ir_simplifier.h
15090
0644
edit
dl
rm
ir_verifier.h
1240
0644
edit
dl
rm
ir_visitor.h
1825
0644
edit
dl
rm
kernel.h
9210
0644
edit
dl
rm
llvm_codegen.h
3180
0644
edit
dl
rm
llvm_jit.h
1965
0644
edit
dl
rm
loopnest.h
21599
0644
edit
dl
rm
mem_dependency_checker.h
13003
0644
edit
dl
rm
reduction.h
6742
0644
edit
dl
rm
registerizer.h
12498
0644
edit
dl
rm
stmt.h
21138
0644
edit
dl
rm
tensor.h
7640
0644
edit
dl
rm
tensorexpr_init.h
268
0644
edit
dl
rm
types.h
3880
0644
edit
dl
rm
unique_name_manager.h
940
0644
edit
dl
rm
var_substitutor.h
1753
0644
edit
dl
rm
Edit:
/usr/local/lib64/python3.6/site-packages/torch/include/torch/csrc/jit/tensorexpr/llvm_jit.h
(1965B)
#pragma once #ifdef TORCH_ENABLE_LLVM #include <c10/util/Exception.h> #include <c10/util/Optional.h> #include <torch/csrc/WindowsTorchApiMacro.h> #include <llvm/ExecutionEngine/JITSymbol.h> #include <llvm/ExecutionEngine/Orc/Core.h> #include <llvm/ExecutionEngine/Orc/ThreadSafeModule.h> #include <llvm/Target/TargetMachine.h> #include <memory> #include <string> namespace torch { namespace jit { namespace tensorexpr { extern "C" { void DispatchParallel( int8_t* func, int64_t start, int64_t stop, int8_t* packed_data) noexcept; } inline std::string formatError(llvm::Error&& err, const char* msg) { static constexpr char* defaultErrorMsg = "Unexpected failure in LLVM JIT"; std::string errorMsg(msg ? msg : defaultErrorMsg); llvm::raw_string_ostream ss(errorMsg); ss << ": " << err; return ss.str(); } template <typename T> T assertSuccess(llvm::Expected<T> valOrErr, const char* msg = nullptr) { TORCH_INTERNAL_ASSERT(valOrErr, formatError(valOrErr.takeError(), msg)); return std::move(*valOrErr); } inline void assertSuccess(llvm::Error err, const char* msg = nullptr) { TORCH_INTERNAL_ASSERT(!err, formatError(std::move(err), msg)); } } // namespace tensorexpr } // namespace jit } // namespace torch namespace llvm { namespace orc { class PytorchLLVMJITImpl; class TORCH_API PytorchLLVMJIT { public: PytorchLLVMJIT( c10::optional<std::string> triple, c10::optional<std::string> cpu, c10::optional<std::string> attrs); ~PytorchLLVMJIT(); void addModule(std::unique_ptr<Module> M, std::unique_ptr<LLVMContext> C); JITSymbol findSymbol(const std::string Name); bool hasSymbol(const std::string& Name); TargetMachine& getTargetMachine(); const DataLayout& getDataLayout(); private: // Use the PImpl idiom here to hide the no-rtti parts of the JIT structure. std::unique_ptr<PytorchLLVMJITImpl> impl_; }; } // end namespace orc } // end namespace llvm #endif // ENABLE LLVM
Save
cmd:
run