Comments (3)
Hi,
Currently, there is no command line option to dump code object from HCC.
The work around is setting env variables KMDUMPISA or KMDUMPLLVM[1] to 1. Which dumps ISA and LLVM IR respectively. Once you get the ISA, you can use clang(4.0) or llvm-mc and clang shipped with ROCm to generate code object. I wrote a sample which generates code object from LLVM IR and ISA [2]. Hope it'll be useful.
This is not recommended as it is not the intended way of generating ISA.
The new developer-preview branch on HIP can now generates code object from kernel using hipcc. You can checkout vector copy sample here [3]. Although the sample is HIP kernel, you can try writing kernel in HCC.
[1]. https://github.com/RadeonOpenCompute/hcc/blob/master/lib/clamp-hsatools.in
[2]. https://gist.github.com/adityaatluri/d8ed1f66024840f8cb982ef585b7c31f
[3]. https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/tree/developer-preview/samples/0_Intro/module_api
from hcc.
Thanks! That was very helpful. I'll try the HIP method.
from hcc.
HIP is probably best supported flow for this right now but we are also providing some tools so you can do this a pure HCC environment, if desired. See this checkin:
https://github.com/RadeonOpenCompute/hcc/blob/clang_tot_upgrade/lib/extractkernel.in
You need to generate a full linked executable (not just object files) but then can use the tool above to extract all of the "code objects".
from hcc.
Related Issues (20)
- HIP Program crash with missing constructor when compiled with HCC HOT 1
- HCC clamp-device segfaults compiling HIP program HOT 2
- Compiler crash in EmitCallArg
- how to increase printf buffer size in kernel code?
- 'libunwind.h' file not found
- build source code of hcc 2.10 error
- build failure
- Is hcc really deprecated? HOT 5
- compile error from source code
- Do not use system ld in hc-kernel-assemble HOT 1
- Invalid record
- CMake warning on nested find_package
- libmcwamp and libhc_am are circularly dependent
- @Ghostplant links are 404
- extractkernel for rdc code HOT 3
- running heterogeneous benchmark like chai in gem5gcn3
- Please enable two factor authentication in your github account
- How to convert LDS memory address to the address can be passed into DS_READ_* and DS_WRITE_* instructions? HOT 2
- Inline assembly of DS_WRITE_B128 compile error Don't know how to handle indirect register inputs yet for constraint 'v' HOT 1
- hipcc does not hipify __nvvm_get_smem_pointer function HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hcc.