Comments (3)
Surely it's possible and doable, all you need is a table to append those default modifiers back, and updating result of CuInsParser.parse
accordingly. You may even get all distinct bit fields of those groups of modifiers!
However, due to variaries of SASS instructions, this usually means quite amount of human work. Since most end users does not care about encodings and weights, current approach is a reliable way to assemble those back. IMHO, the only benificial scenario for doing this is you need to make a simulator according to binary encodings.
If you really need this, you may check current weight matrix for instructions that may have default modifiers. But be cautious for those dummy modifiers with zero weights, such as IADD
in IMAD
. And there are some modifiers always appears simultaneously.
from cuassembler.
Thanks for reply. We do working on a simulator of the Volta arch indeed.
What about this assumption ?
(1)Firstly,If the weight matrix contains negative number,then the instruction should have only one default modifier.
(2)Secondly,IF an Instance of that instruction does not contain any modifer which corresponding to a negetive weight value,it should include the default modifier.
IF both,based on current weight matrix, we update the value V (dimension + 1), then solve the weight matrix(dimension + 1) for a second time. If this were possible,we can reduce lots of human work.
from cuassembler.
-
It's not guaranteed that an instruction have at most ONE default modifier. For example, 'F2I' means 'F2I.S32.F32', and since 'F2I' will use a different opcode for 64bit types, you may consider it also contains a default modifier to specify it's a 32bit conversion.
-
Default modifier does not mean other weights of same modifier bitfield should be negative, only the difference matters. If the weight of default modifier is the smallest(usually zero), then the weights of modifiers in the same bitfield will also be positive.
In a word, to make the decoding procedure complete and robust, a lot of human work seems not avoidable. Our current system is not aiming this target, thus it will not be trivial to achieve this goal.
from cuassembler.
Related Issues (20)
- I cannot run CubinFile HOT 3
- Insufficient basis, try CuAsming more instructions! HOT 1
- Exception: ('Duplicate symbol @%#x with name %s!', 24, '') HOT 2
- make dump issue HOT 6
- raise Exception('Unknown implicit section %s !'%secname) HOT 4
- Assembling failed (NewModi): Unknown modifiers: ({'2_R.64'}) HOT 7
- No effect after adjusting cuasm HOT 4
- how to understand "L2Bank" HOT 1
- about the "L2::128B" HOT 1
- Error when assembling instruction "[B------:R3:W4:-:S06] @P3 LDG.E.EL.128 R12, desc[UR8][R16.64] ;": HOT 2
- An error occurred when analyzing kernel function calls transitioning from cuasm to cubin using Nsight Compute HOT 1
- About Ada (fp8 tensor core) and tensor core mma (and mma.sp) support.. HOT 2
- Registers remapping in matrix multiplication HOT 4
- Some confusions about stall count HOT 8
- Parsing of cuasm file failed HOT 1
- An error occurred when parsing the cuasm file into a cubin file HOT 1
- Errors on CUDA 11.6 HOT 1
- Cool project
- Compile CUASM error HOT 1
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 cuassembler.