• Chris Sullivan's avatar
    Abstraction for GPU unary elementwise ops (#587) · 529362b5
    Chris Sullivan authored
    * straightforward gpu.cos implementation following previous patterns prior to refactor
    
    * Generalized unary elementwise gpu op impl.. New unary elementwise ops can
    be added to the type annotations in gpu_cuda_kernel_ops.hpp. Next step
    is to refactor the llvm interface in gpu_emitters.hpp for similar generality.
    
    * Added gpu_emitter.hpp:EmitUnaryElementwise.
    
    Function adds cuda kernel based on ngraph::op::op_type::description.
    This can service all unary elementwise ops run on the gpu.
    
    * The following elementwise unary ops now use the EmitUnaryElementwise emitter:
    * GPU.abs
    * GPU.acos
    * GPU.asin
    * GPU.atan
    * GPU.ceiling
    * GPU.cos
    * GPU.cosh
    * GPU.exp
    * GPU.floor
    * GPU.log
    * GPU.not
    * GPU.sign
    * GPU.sin
    * GPU.sinh
    * GPU.tan
    * GPU.tanh
    Unary elementwise ops Sign and Not need extra consideration.
    
    * tanh test changed to test::all_close for fp comparison (also done for tan in commit 65fa7c6de34c8277fe2a4801644f6bb64574f4ff).
    
    * GPU backend skips added for recent softmax test and updated aliased output test that uses op::Constant.
    
    * code format update
    
    * changed cuda builder interface names to unary/binary/arbitrary, added impl. note to gpu_cuda_kernel_ops, cleaned code format
    
    * updated ngraph-cpp reference
    
    * Fixing incorrect github conflict resolution.
    
    * Added GPU emitter for op::Result.
    For now it simply copies the output tensor.
    
    All but 3 tests now pass. The remaining
    failing tests are:
    * GPU.dot_0_0
    * GPU.dot_matrix_2x0_0x2
    * GPU.dot_2x0_0
    
    * Removed call to handle memory aliasing in gpu_external_function.
    
    * fix gpu emitter bug that will return in the middle of function
    
    * Merge pull request #609 from NervanaSystems/tfl/fix_return_bug
    
    fix gpu emitter bug that will return in the middle of function
    
    * GPU backend skips added for recent softmax test and updated aliased output test that uses op::Constant.
    529362b5
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...