Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROCM source code for AARCH64 #231

Closed
zhaojunfan opened this issue Oct 23, 2017 · 1 comment
Closed

ROCM source code for AARCH64 #231

zhaojunfan opened this issue Oct 23, 2017 · 1 comment

Comments

@zhaojunfan
Copy link

Hi, I want to know which branch of rocm source code can be used on aarch64 now? I mean for all components.
1.ROCK-Kernel-Driver
2.ROCT-Thunk-Interface
3.ROCR-Runtime
4.ROCm-Device-Libs
5.compiler-runtime
6.HCC
7.HIP
8.ROC-smi
9.ATMI

if they are all ready for aarch64 now? @gstoner

Thanks!

@gstoner
Copy link

gstoner commented Oct 23, 2017

1.ROCK-Kernel-Driver. <- this base support was in ROCm 1.6
2.ROCT-Thunk-Interface <- this base support was in ROCm 1.6
3.ROCR-Runtime. <- this needed new clean up see bellow -going upstream
4.ROCm-Device-Libs <- this has zero dependencies on ARM
5.compiler-runtime <- this has zero dependencies on ARM
6.HCC <- this is going out now
7.HIP <- this is going out now
8.ROC-smi <- this python script <- this has zero dependencies on ARM

The issue on the thunder X system is you need to force PCIe Platform Atomics/Atomic Completors to get the stack working

ROCr change we upstreaming
// Try to detect CPU endianness
#if !defined(LITTLEENDIAN_CPU) && !defined(BIGENDIAN_CPU)
#if defined(i386) || defined(x86_64) || defined(_M_IX86) || \

  • defined(_M_X64)
  • defined(_M_X64) || defined(aarch64)
    #define LITTLEENDIAN_CPU
    #endif
    #endif

To fix the atomic completor issue

$ sudo setpci -v -s 0005:8f:00.0 98.b=60
0005:8f:00.0 @98 60

$ ./simple_dispatch
Failed to get Processor Vendor. Setting to GenuineIntel
Initializing the hsa runtime succeeded.
Getting a gpu agent succeeded.
Querying the agent name succeeded.
The GPU agent name is gfx803.
Querying the agent maximum queue size succeeded.
The maximum queue size is 131072.
Creating the queue succeeded.
Creating a HSA signal succeeded.
Finding a host fine grained memory region succeeded.
Allocating host fine grained memory for kernel code object succeeded.
Dispatching the kernel succeeded.
Dispatch successfully completed.
Freeing kernel code object memory succeeded.
Destroying the signal succeeded.
Destroying the queue succeeded.
Shutting down the runtime succeeded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants