• Chris Sullivan's avatar
    Adding support for GPU elementwise ops for arbitrarily many inputs (#618) · 89da71d3
    Chris Sullivan authored
    * Refactored unary elementwise ops into a single interface
    that is adaptable to elementwise ops with arbitrary number of inputs.
    
    * Renamed EmitUnaryElementwise -> EmitElementwise.
    Implemented first binary elementwise op (Power).
    
    * Refactored some of the boiler plate code for emitting cuda kernels to nvrtc
    out of the emit functions and into the CudaFunctionPool static singleton.
    CodeWriter now saves cuda kernels to ./gpu_codegen.
    
    * Added ops Divide, Subtract & Sign to the GPU transformer.
    Subtract and Sign both use custom device helper functions which
    have math kernels defined for the op in gpu_cuda_kernel_ops.hpp,
    and which are built by a new get_device_helper function.
    89da71d3
Name
Last commit
Last update
..
models Loading commit data...
ref_generators Loading commit data...
util Loading commit data...
CMakeLists.txt Loading commit data...
argon_fusion.cpp Loading commit data...
autodiff.in.cpp Loading commit data...
backend_debug_api.cpp Loading commit data...
backend_performance.cpp Loading commit data...
backend_test.in.cpp Loading commit data...
build_graph.cpp Loading commit data...
builder.cpp Loading commit data...
builder_autobroadcast.cpp Loading commit data...
builder_xla.cpp Loading commit data...
codegen.cpp Loading commit data...
convolution_test.in.cpp Loading commit data...
copy.cpp Loading commit data...
core_fusion.cpp Loading commit data...
cpu_fusion.cpp Loading commit data...
cudnn.cpp Loading commit data...
distributed.cpp Loading commit data...
eigen.cpp Loading commit data...
element_type.cpp Loading commit data...
file_util.cpp Loading commit data...
graph_partition.cpp Loading commit data...
includes.cpp Loading commit data...
inliner.cpp Loading commit data...
input_output_assign.cpp Loading commit data...
main.cpp Loading commit data...
mkldnn.cpp Loading commit data...
ngraph.cpp Loading commit data...
op.cpp Loading commit data...
pass_liveness.cpp Loading commit data...
pass_manager.cpp Loading commit data...
pass_memory_layout.cpp Loading commit data...
pattern.cpp Loading commit data...
reshape_elimination.cpp Loading commit data...
runtime_manager.cpp Loading commit data...
serialize.cpp Loading commit data...
shape.cpp Loading commit data...
tensor.cpp Loading commit data...
type_prop.cpp Loading commit data...
update_reference.sh Loading commit data...
util.cpp Loading commit data...
uuid.cpp Loading commit data...