aboutsummaryrefslogtreecommitdiff
path: root/src/cuda-sim/ptx.l
AgeCommit message (Collapse)Author
2016-09-06Merge pull request #30 from sspenst/devgpgpu-sim
shfl instruction implemented
2016-09-05Merge pull request #28 from jwang323/cdp_cleangpgpu-sim
Initial support of CUDA Dynamic Parallelism on GPGPUSim
2016-08-24Added shfl instructionsspenst
2016-07-05ADD: support ptxinfo for sm_35 and cuda 6.5Jin Wang
2016-07-04Restored madp instruction.speverel
2016-07-04Reverted part of the previous commit so that our new changes related to DNNs ↵sspenst
can be done in a different branch
2016-06-16Added the ability to inject arbitrary PTX instructions. ↵speverel
This will be used to add custom instructions in the future; the imaginary instructions 'spr' and 'ama' have been added as samples.
2016-06-07The ptx parser now recognizes the NC option for ld.global, however this ↵sspenst
option is not actually implemented
2016-06-02Updated parser and config file to support compute versions up to 5.2. Full ↵speverel
support is NOT claimed; however, it has been tested to work on a number of CUDA version 7.5 benchmarks such as matrix multiply and simpleMultiGPU.
2016-06-02Added handling of .cc option for arithmetic instructions. NOTE: Only made ↵speverel
changes to parse instructions. Carry functionality NOT fully implemented; .cc instructions function like their unmodified ueqivelents. Also modified GTX750Ti config to model L1 data cache as simply not being used for global loads (instead of not existing at all). Changed ptxinfo parsing to avoid crashing when info includes texture information.
2014-08-14This should fix 2.3 regression and may fix others as well.Ahmed El-Shafiey
Remove redudant definition for some tokens which confuses the parser [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 18462]
2014-08-14Support for named bariers + bar.red + bar.arrive instructionsAhmed El-Shafiey
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 18452]
2014-08-14OpenCL newer diver fixHadi Jooybar
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14554]
2014-08-14Several changes to ptxplus towards getting the sphyraena benchmark to work. ↵Jimmy Kwa
Add .false modifier to cuobjdump_to_ptxplus. It isn't supported in gpgpusim yet since we don't know what it does. Fixed most of the issues with global (const14) variable not being declared properly. Added "BRX" instruction to cuobjdump_to_ptxplus and some support for it in gpgpusim. There are other issues with it that still need to be worked out. Added support for translating IADD.CARRY sass instruction into ptxplus addp instructions. Fixed a bug with generating ".half" modifiers on instructions so the ptxplus instruction addresses should match sass addresses now. Separated ssy instructions from nop. However, they are still simulated as nop in gpgpusim. Sometime cuobjdump generate a blank link that takes up an address slot. This was changed to a nop. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14001]
2014-08-14Added implementation of vote.ballot (passing directed test). Added popc ↵Wilson Fung
(not tested). Reducing number of iterations for radixSortThrust for regression. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13993]
2014-08-14Fixing the updated PTX parser for texture instructions. Created a new state ↵Wilson Fung
for function declaration, which is terminated with LEFT_BRACE "{" to return to INITIAL state. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13790]
2014-08-14 Integration from TM-311 branch.Wilson Fung
- Updated PTX parser to support CUDA 4.1 and 4.2. - Revised fatbin workaround to a more robust version (with comments explaining it). - Added print_simulation_time() in gpgpu_sim_thread_concurrent(). [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13789]
2014-08-14Adding the madp instruction, which does multiply add with carry-in. Still ↵Wilson Fung
need to modify carry and overflow flags. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13317]
2014-08-14Removing warningsAndrew M. B. Boktor
A bit of cleanup [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12627]
2014-08-141. Fixing ptx with sm_20Andrew M. B. Boktor
2. Fixing the choice of files (since new we can choose) 3. Not allowing sm_20 with PTXPlus, forcing max capability it to 19 and printing a warning [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12279]
2014-08-14Adding support in the simulator for addition with carry specified in a given ↵Andrew M. B. Boktor
predicate register (calling it addp) Adding support in cuobjdump_to_ptxplus for IADD.CARRY* which translates to the above Now power benchmarks should work [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12266]
2014-08-14This changelist implements the following:Andrew M. B. Boktor
1. Adds support for using cuobjdump for both ptx and ptxplus execution. This has been tested with CUDA 4.0 . Ptxplus is no longer supported through decuda/decuda_to_ptxplus 2. Adds support for converting the SASS output by cuobjdump to ptxplus. This has been tested with CUDA 4.0 . The old path that extracts ptx from cubin files is still preserved 3. Adds a bank group model. (WARNING: memory config has changed, please adapt yours). To disable the bank groups model, set nbkgrp to 1 and tCCDL and tRTPL to 0 Diff the configuration files to learn about how to use those new options. Merging //depot/gpgpu_sim_research/fermi-test/distribution/... to //depot/gpgpu_sim_research/fermi/distribution/... [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12023]
2014-08-14change copyright notice to include authorsTor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 9872]
2011-06-29changing copyright to BSDTor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 9687]
2010-12-15Added next instruction type to ptxplus, ".ff64". It's the same as ".f64" ↵Jimmy Kwa
except it reads and stores from two adjacent registers instead of a single 64 bit register. ".ff64" instructions are now printed in decuda_to_ptxplus. Support in the simulator for ".ff64" has been added but it is untested. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 8278]
2010-11-28adding 1st level data cacheTor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 8153]
2010-10-01integrating recent changes from fermi-test into fermiTor Aamodt
(i'll use "fermi" for more disruptive changes to the pipeline model such as updating the MSHRs and getting rid of the warp tracker, ripping out DWF, etc...) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7805]
2010-08-30integrating CL 7421-7434 from fermi-test Tor Aamodt
this integrates the ptxplus functional model changes, but has only been verified with CUDA 3.1 PTX regressions (which pass) still need to verify ptxplus itself is working in this branch [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7435]
2010-07-21- reduce 3.1 sdk regression test runtimes (as per 2.3 sdk versions)Tor Aamodt
- add ldu support (just use ld for now) - get rid of asserts for .const[n] - status: cuda sdk 3.1 dct8x8, eigenvalues, MersenneTwister, reduction, scan still running (too slow) ocl sdk 3.1 oclQuasirandomGenerator still running (too slow) ocl sdk 3.1 oclReduction fail comparison (cuda 3.1) ocl sdk 3.1 oclMatrixMul exits mid computation ocl sdk 3.1 oclTranspose hits "clCreateBuffer - buffer already created for this host variable" ocl sdk 3.1 oclSortingNetworks fails w/ message about min workgroup size remaining 30 tests pass [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6927]
2010-07-19OpenCL running on simulator w/ CUDA 3.1 and nvidia driver 256.35Tor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6907]
2010-07-17- add support for ld/st with generic addressesTor Aamodt
- add support for parsing cache operators (still need to pass to timing model) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6868]
2010-07-17- add support for cvta and isspacep instructions (currently assumingTor Aamodt
a fixed address mapping between shared,local to generic that depends upon hardware thread context used... might be interesting to explore tradeoffs at some point) - remove util.h... we don't need TRUE, FALSE anymore now that everything is C++ - remove some dead code from shader_decode [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6867]
2010-07-17- bug fix: parsing hex int constants didn't have a-fA-F!?!Tor Aamodt
- modify template to use printf from kernel (this works on our Fermi card--want it working on simulator for debugging) - add support for extern function declarations (so don't try to assemble them)... printf is extern [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6862]
2010-07-16template compiled with "make noinline=1" now parses, runs, passesTor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6857]
2010-07-16adding parsing for opaque specifiers Tor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6851]
2010-07-16- adding placeholders for new builtin registersTor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6848]
2010-07-16- add placeholders for new (e.g., PTX 2.x) directives and instructionsTor Aamodt
- update regression script to use compute sdk location for cuda (both distributed in one download now) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6846]
2010-07-16- BlackScholes passing on CUDA 3.1Tor Aamodt
- Added fma operation by simply calling mad, however in reality fma is supposed to be more accurate than mad. For now, properly emulating fma (to get the extra precision) isn't a priority. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6839]
2010-07-15creating branch for adding support for CUDA 3.x and FermiTor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6829]