Este site requer JavaScript.
Explorar
Ajuda
Acessar
AI
/
rocm-systems
Observar
2
Juntar aos favoritos
0
Fork
0
Você já fez o fork de rocm-systems
Código
Issues
Pull Requests
Ações
Pacotes
Projetos
Versões
Wiki
Atividade
Arquivos
bb35299560c023fec1dd96529da643c545f6237f
rocm-systems
/
hipamd
/
src
T
Histórico
Alex Voicu
bb35299560
This actually (tries) to do the right thing all the way, by using memcpy for bitcasting, and not rely on undefined behaviour of a different flavour as a substitute for the original undefined behaviour. Note that the compiler will (should) optimise down to the same emitted code, since this is a pattern it understands.
2017-11-28 17:23:06 +00:00
..
elfio
Make elfio headers private
2017-10-23 10:24:36 +05:30
AMDGPUPTNote.h
Added default module launch api functionality
2017-03-17 13:11:34 -05:00
AMDGPURuntimeMetadata.h
Added default module launch api functionality
2017-03-17 13:11:34 -05:00
code_object_bundle.cpp
This switches HIP from its currently convoluted macro + pfe based dispatch mechanism to a more natural one partially based on the existing module API. The basic idea is that HCC will always correctly emit __global__ functions: as empty-bodied stubs, on host, and as kernels, on device. It then becomes trivial to obtain the mangled name on host, at dispatch, from the function's address, and then to use the mangled name to retrieve the kernel. This should address all problems stemming from serialisation, dubious mismatches due to the manufactured functor, macro-isms et al. It also immediately enables support for generalised globals as a consequence of that being available in the module API. Finally, it will make debug much easier, since the actual names of the __global__ functions will automatically be used in traces etc. One detail is that due to how dispatch works now (hipLaunchKernel and hipLaunchKernelGGL are themselves variadic function templates which deduce the function type of the callee), in certain cases it may be necesssary to insert explicit casts to ensure that the variadic argument list selects a viable overload - this can be observed in some unit tests. Eventually we may be able to remove this limitation, but for now it does not appear terribly onerous. The code is not extremely HIPpie, nor is it fully optimised, but rather is intended as a starting point for the HIP team to make its own.
2017-11-01 15:09:59 +00:00
device_functions.cpp
This actually (tries) to do the right thing all the way, by using memcpy for bitcasting, and not rely on undefined behaviour of a different flavour as a substitute for the original undefined behaviour. Note that the compiler will (should) optimise down to the same emitted code, since this is a pattern it understands.
2017-11-28 17:23:06 +00:00
device_util.cpp
Refactor the __device__ versions of memset and memcpy to be less awkward i.e. not return nullptr as opposed to the destination pointer (it can only be assumed it was done for maximum confusion) and actually unroll as they claim to. Change all of the {to, from}Symbol functions to use hipModuleGetGlobal, as opposed to hc::accelerator::get_symbol_address which is no longer valid with module based dispatch.
2017-11-21 02:40:34 +00:00
device_util.h
remove unsupported erf(c)inv related host functionality
2017-07-14 11:31:40 +05:30
env.cpp
added new api hipHccModuleLaunchKernel
2017-03-31 12:11:34 -05:00
env.h
Move core env var processing to env.cpp
2017-01-23 22:34:41 -06:00
grid_launch.cpp
Correct ill-formed merge in earlier commit and adjust for differences with the new CUDA natural indexing mechanism.
2017-11-20 16:33:52 +00:00
hip_context.cpp
Fix missing MARKER_END
2017-11-13 16:13:19 -05:00
hip_db.cpp
Fix hip_db header inclusion path
2017-07-12 16:08:20 +00:00
hip_device.cpp
Add ns-level timer for HIP API routines
2017-10-30 20:20:51 +00:00
hip_error.cpp
added new api hipHccModuleLaunchKernel
2017-03-31 12:11:34 -05:00
hip_event.cpp
Check for null event in hipEventElapsedTime
2017-11-06 23:49:31 +00:00
hip_fp16.cpp
changed vector types to make sure it generate proper llvm vector types
2017-05-16 21:35:40 -05:00
hip_hc_gfx803.ll
changed vector types to make sure it generate proper llvm vector types
2017-05-16 21:35:40 -05:00
hip_hc.ll
Fixed Hawaii link issues
2017-02-08 12:04:05 -06:00
hip_hcc_internal.h
Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
2017-11-08 10:26:30 +00:00
hip_hcc.cpp
Fix missing MARKER_END
2017-11-13 16:13:19 -05:00
hip_ldg.cpp
Fixed copyright and header names
2017-03-31 12:40:29 -05:00
hip_memory.cpp
Refactor the __device__ versions of memset and memcpy to be less awkward i.e. not return nullptr as opposed to the destination pointer (it can only be assumed it was done for maximum confusion) and actually unroll as they claim to. Change all of the {to, from}Symbol functions to use hipModuleGetGlobal, as opposed to hc::accelerator::get_symbol_address which is no longer valid with module based dispatch.
2017-11-21 02:40:34 +00:00
hip_module.cpp
Refactor the __device__ versions of memset and memcpy to be less awkward i.e. not return nullptr as opposed to the destination pointer (it can only be assumed it was done for maximum confusion) and actually unroll as they claim to. Change all of the {to, from}Symbol functions to use hipModuleGetGlobal, as opposed to hc::accelerator::get_symbol_address which is no longer valid with module based dispatch.
2017-11-21 02:40:34 +00:00
hip_peer.cpp
added new api hipHccModuleLaunchKernel
2017-03-31 12:11:34 -05:00
hip_stream.cpp
hipStreamWaitEvent returns success if event created but not recorded
2017-11-06 23:49:31 +00:00
hip_texture.cpp
Fixed hipTexture fetch issue
2017-09-25 06:54:29 +05:30
hip_texture.h
HIP Texture Support
2017-07-17 15:16:12 -04:00
hip_util.h
Fixed copyright and header names
2017-03-31 12:40:29 -05:00
math_functions.cpp
remove unsupported erf(c)inv related host functionality
2017-07-14 11:31:40 +05:30
program_state.cpp
This corrects how addresses are formed for symbols which reside in shared objects. For this case, the .value component of an ELF symbol holds the offset from the base VA where the shared object was loaded. Thus, to correctly obtain the VA of the object refered by the symbol, we must add the offset to the VA where the shared object is loaded. We were already doing this correctly for symbols denoting functions, but we were incorrect for those denoting objects.
2017-11-21 13:15:13 +00:00
trace_helper.h
Change the #define of GENERIC_GRID_LAUNCH to take valueat compilation, disable warning messages
2017-03-17 14:59:34 -05:00