summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-08-14Clean up the unordered_map fallback support.Wilson Fung
- Now there is only one macro for all use of unordered_map in the code. - Moving all instances of gcc/cuda version detection into a single file. - Adding a warning when the fallback is triggered. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13542]
2014-08-14Fixed gcc-4.3 warning related to SIMT stack in CL13519Inderpreet Singh
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13535]
2014-08-14SIMT stack is now implementated as a stack to allow arbitrary recursion depthInderpreet Singh
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13519]
2014-08-14even prettier printing of reconvergence pc'sTor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13455]
2014-08-14Ptxplus fix for recrusive call handling in SIMT stack (CL13410).Inderpreet Singh
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13435]
2014-08-14Fixing an error reported by valgrind.Tim Rogers
Is really harmless since you can call delete on primatives allocated with new[] without consequence (all delete [] does is ensure that the destructors will be called) Still, it is always good practice to de-allocate anything allocated with new[] with delete[] - just in case the type allocated changes and the person that changes it forgets to update the de-allocation. Really, this little array should be on the stack... [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13414]
2014-08-14Copied in Arun's SIMT stack fix for recursive calls (CL8574)Inderpreet Singh
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13410]
2014-08-14- print out instructions at branch divergence/reconvergence points (more ↵Tor Aamodt
informative) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13399]
2014-08-14Fix for bug 9: Now querying the state of the pdom stack in call_imp and ↵Ayub Gubran
callp_imp using a core_t function, thus moving the querying function into the abstract model of the core instead of shader_core_ctx which represents the performance mode. This code simplify the querying and also avoid the unnecessary calling hierarchy that was used. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13375]
2014-08-14Fix for bug #154-internal and #8-externalAndrew M. B. Boktor
Adding support for double destination to mad instruction Fixing broken madp instruction Adding a patch to cuobjdump_to_ptxplus to work around the C3 problem (Documented in bug #154 internal). [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13349]
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-14Now makedepend doesn't have to interfere with our commits anymore.Andrew M. B. Boktor
makedepend generates the dependencies in Makefile.makedepend that is generated dynamically and cleaned with "make clean" Next step is to use gcc's "-M" option and get rid of makedepend altogether. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13292]
2014-08-14Adding a two level scheduler as described in the ISCA 2012 tutorialAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13261]
2014-08-14Fixing one of the problems discovered for bug 154 (internal).Wilson Fung
- Output of 16-bit integer multiplication (IMUL.U16) writes to the entire 32-bit register if a full register (i.e. not half register such as R1L) is specified as the destination. Before, it was only storing the lower 16-bit of the product into the full register. - Modified function header to declare at least 4 predicates in cuobjdump_to_ptxplus. This will mask out the problem with the predicate registers used before initialized. - Modified register value print out: now unsigned integers display their decimal values as well. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13246]
2014-08-14Fixed DRAM performance statistics to display information for more than 4 banks.Wilson Fung
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13139]
2014-08-14Fixed GDDR5 parameters in Fermi config:Wilson Fung
- Increased burst length to 8 and changed address mapping to reflect 16 banks as suggested by Jungrae. - Decreased the DRAM clock to 924MHz from 1848MHz. - Corrected CAS Latency and Write Latency in the timing constraints. - Added a new option 'dram_data_command_freq_ratio' to configure the frequency ratio between the DRAM data bus and command bus. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13138]
2014-08-14Fix for bug 168 (internal). The overall average memory latency should now ↵Wilson Fung
be reporting the actual overall, instead of the average of just the final sampling window for AerialVision. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13045]
2014-08-14- Update README file to be slightly more user friendly (i.e., try not to ↵Tor Aamodt
imply user should bugger off and stop asking developer for help) - Remove ridiculously long and cryptic comment from setup_environment. Most people will use CUDA_INSTALL_PATH. - Remove decuda targets from Makefile - Add check to Makefile to insist that setup_environment was run first - Add version file (eliminate redundancy) and remove version strings from src/cuda-sim/cuda-sim.cc [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12874]
2014-08-14- adding clearer documentation to setup_environmentTor Aamodt
- removing an assert that gets triggered when using CUDA 4.2 [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12865]
2014-08-14updating version number string to 3.1.0+edits to indicate further edits past ↵Tor Aamodt
last stable release (i.e., this is a "development" branch) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12830]
2014-08-14Fixing bug 161 and 164. WP now runs without deadlocking due to I-cache miss ↵Wilson Fung
replay eddy. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12666]
2014-08-14fixing cuda printfAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12635]
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-14Re-wrote the intermediate structure for the output of cuobjdump using C++ ↵Andrew M. B. Boktor
classes Some changes to remove warnings [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12609]
2014-08-14Removing a couple of warningsAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12564]
2014-08-14Release 3.1.0Andrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12558]
2014-08-14No need to write pid in r0 if kernel doesn't use r0 (causes failure)Andrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12518]
2014-08-14Fixing opencl statsAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12491]
2014-08-14Fixing typoAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12383]
2014-08-14A much easier way to attempt to fix the problem targeted by CL12362 is to ↵Andrew M. B. Boktor
just print the stats whenever a kernel is done. This requires decoupling updating the stats from printing them and modifying the printing code to accomodate this change. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12366]
2014-08-14When a kernel is done, it doesn't mean it finished executing. Instructions ↵Andrew M. B. Boktor
could have a few cycles left (e.g. memory). To prevent the problem with the race condition, no stream operations are allowed to launch until the kernel that has finished finished executing. The loop will exit, the kernel prints its stats, then in the next iteration the next operation is allowed to launch. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12362]
2014-08-14Removing a wrong commentAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12358]
2014-08-14Fixing a potential problem.Andrew M. B. Boktor
Right now this doesn't cause any trouble becaue increment_thread_id guarantees that this particular part of the condition is never false (in correct operation) Normal kernel configuration have the z dimention smaller than the x dimention which causes it to be always true, but with a weird configuration, this is a potential place for failure. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12357]
2014-08-14Fixes a rare race condition that prevents the kernel stats from being printed.Andrew M. B. Boktor
Merging //depot/gpgpu_sim_research/fermi_replay/distribution/src/gpgpusim_entrypoint.cc to //depot/gpgpu_sim_research/fermi/distribution/src/gpgpusim_entrypoint.cc [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12356]
2014-08-14Removing some bottlenecks that limit that peak-IPCAndrew M. B. Boktor
- FUs depended on the result bus to know if they are going to be used on a certain cycle, this is not the case anymore, occupied bitvectors are added - A configurable number of result buses is added (the number of buses is equal to the EX_WB pipe width) - Modified the Fermi config file to add two ports to the operand collector IPC with a theoretical limit of number_of_SMs*64 is achievable using this configuration [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12349]
2014-08-14Integrated in CL12342 from coherence branch; fix for bug #160Inderpreet Singh
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12343]
2014-08-14Adding configurable instruction latencies and initiation intervalsAndrew M. B. Boktor
The observed latencies are reduced by 5 to account for other stages in the SM pipeline Eventually this should be calibrated against the microbenchmarks [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12310]
2014-08-14Using only move_out_to to move pipeline registersAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12305]
2014-08-14Supporting the option for removing temporary filesAndrew M. B. Boktor
. the option -gpgpu_ptx_save_converted_ptxplus allows keeping the ptxplus file . the option -gpgpu_keep allows keeping intermediate files used to communicate with other programs (e.g. cuobjdump) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12304]
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-14Ensuring the correct ptxas is usedAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12269]
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-14Integrated in CL12250 from coherence branch - fix for atomic payload bug ↵Inderpreet Singh
(see Bug #133) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12257]
2014-08-14Using nvcc present in CUDA_INSTALL_PATH instead of the one in PATHAndrew M. B. Boktor
Adding -DCUDART_VERSION to CXXFLAGS [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12253]
2014-08-14Changing writeback arbitration among multiple clients ↵Wilson Fung
(shared,tex,const,global/local,L1D) in ldst unit to round-robin. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12248]
2014-08-14Removing a wrong commentAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12203]
2014-08-14Removing all remaining traced of decudaAndrew M. B. Boktor
Stopping if someone tries to use PTXPlus without cuobjdump [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12138]
2014-08-14This changelist adds the following:Andrew M. B. Boktor
1. A configurable number of functional units within each SM 2. A configurable pipeline widths (i.e. Issue width, writeback width ...). Merging //depot/gpgpu_sim_research/fermi_replay/distribution/src/... to //depot/gpgpu_sim_research/fermi/distribution/src/... [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12091]
2014-08-14Supporting ptxas from CUDA 4.0Andrew M. B. Boktor
Simply ignoring some lines [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12054]
2014-08-14Changing the configs to be backward compatible by disabling bank groups by ↵Andrew M. B. Boktor
default if its configurations are not present [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12033]