summaryrefslogtreecommitdiff
path: root/src/cuda-sim
AgeCommit message (Collapse)Author
2014-08-14Allocating aligned local memoryAndrew M. B. Boktor
Fixing the alignment of all types of memory so that it's aligned to size or 128byte whichever is smaller Refactoring out the padding code [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 17047]
2014-08-14Intesim2 IntegrationDongdong Li
Details: See Review 80001 https://gpgpu-sim-code-review.appspot.com/80001/ [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16747]
2014-08-14Adding the ability to querry the WARPSZ flag from the ptx script.Tim Rogers
Also changed some initialization code when cores are created in both the funcational and perfromance simulator review:3001 lgtm:5 [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16506]
2014-08-14 Changing the make flow so all the generated files, both object and code ↵Tim Rogers
generated go in a directory independent of the source directory [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16503]
2014-08-14Adding a dependency so the ptxinto.tab.h file is generated before the ↵Tim Rogers
lex.ptxinfo_.c file is built review:42002 lgtm:1 [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16432]
2014-08-14Fixing bug 59 + cleaning some code related to the power modelAhmed El-Shafiey
Review ID:32001 [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16205]
2014-08-14Fixing the broken valgrind build.Tim Rogers
review:28002 lgtm:0 [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15957]
2014-08-14Removing a slew of code still compiled with gcc and the need for a bunch of ↵Tim Rogers
external C linkage [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15912]
2014-08-14Integrate mov.pred fix from TM branch.Wilson Fung
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15538]
2014-08-14This should fix the NNC undefined memory locations bug. It turned out that ↵Ahmed El-Shafiey
the main problem is in the benchmark code itself. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15537]
2014-08-14fixing some assignment in the "get_operand_value" function where unsigned ↵Ahmed El-Shafiey
were assigned to unions! Also, do proper initialization in the constructors of operand_info, therse among places where valgrind complaining from NNC, but still it is not fixed. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15503]
2014-08-14Okay, both the crash and the valgrind complaint are caused by the non-type ↵Tim Rogers
safeness of fprintf. Fix is to explicitly tell fprintf that the to_string.c_str() result is a string. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15312]
2014-08-14Fixed at least one error in the valgrind build. Forgot to initial a member ↵Tim Rogers
variable. I thought the init() function where dynamic_warp_id is initialized was called on construction. It is not. Added a default value in the constructor. Maybe a code review would have caught this :) Also cleaned up some weird code I had in the ptx_instruction::to_string(). Also trimmed out tabs from our stored source line string so it is much more readable on print [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15310]
2014-08-14Fixing a bug exposed by the fix for bug 42.Tim Rogers
The "_" "null" register potentially generated by ptx and intentionally generated by ptxplus was being initialized without a type. This caused the parser to think it was not a register. Fix is to allow the parser to think of it as register, but ensure the arch-sim does not by adding a flag indicating that it is special. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15305]
2014-08-14MergingTim Rogers
//depot/gpgpu_sim_research/fermi_tim/... to //depot/gpgpu_sim_research/fermi/... Integrating CLs up to 15295. Descriptions of these CL's are included. *** A couple changes to aeriel-vision for warp issue plot support *** More arielvision changes to support the variable-entry length stacked bar chart *** Properly printing the right resolution of dynamic warp ids ***. Generalized the scheduler code and added detailed statistics for which warps issue each cycle. Verified the execution of the LRR scheduler - still have to get the two level scheduler to work. *** Implementing the 2lvl scehduler has it has been originally coded. LRR on both the inner and outer levels *** Adding in a debug tracing system to GPGPU-Sim. I am sick of writing debug code - then having to comment out, ifdef out or delete it to checkin. This also allows for print streams so the user can decided which traces they would like to see. Every print in GPGPU-Sim should go through this system - then it will be really easy to only get the information you want and more importantly people will (a) write and (b) checkin code that actually profiles what they are building. Reading tracefiles is superiour in many ways to single stepping since you can print the world and just vet the logfile for what you need. This also fascilitates advice from the Debugging Rules! book which states that you should never throw away a debugging tool. Having debug prints that don't get thrown away is big. *** Allowing the trace to be specified in the Make. Run Make TRACE=0 to compile the code without any traces *** Allowing prints from the performance sim to get the actual ptx instruction text *** Getting the two level scheduler to actaully work... What is released in fermi does not work at all - it effectively performs "static warp limit" from my CCWS paper. Warps are never demoted from the active list since the functionality checking to see if they are waiting on a longop is completly broken. Maybe if the original author had access to the tracing functions this would not have happened. The islongop test was completely broken. It did not mark the register as used, it marked the register number in the instruction as used. For example if this instruction was creating a long op: ld r6 [r1] It would mark register 0 as waiting for a long op (since it is register 0 of the two registers in this instruction), not register 6. Additionally, whenever ANY instruction from a warp releases registers, ALL the longops being tracked for this warp get cleared.... The only way anyone ever thought this worked is if they did not test it.... *** Reworking the warp schedulers to share common code. Making the GTX480 use gto by default. I am not sure wht they really use, but it really can't be LRR. Also adding in a new file for custom shared trace defines. These are useful when you want a print that has some additional criteria or information printed. Verified that the schedulers all work to a first order based on traces. *** Making it so you can run the stats collection scripts from any directory. Also allow the caller to specify a stats file instead of just assume its always the same one [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15296]
2014-08-14proposed fix for bug 42 (Alexander Samoilov)Tor Aamodt
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15271]
2014-08-14 Fixing a slew of compiler warningsTim Rogers
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15218]
2014-08-14fixing bug 36 + put a mistakenly missing texture misses power scalingAhmed El-Shafiey
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15105]
2014-08-14fixing a bug that cause the thread_fence benchmark fails (excluding an ↵Ahmed El-Shafiey
opcode that does not have operands "mem_bar" from checking its operands types) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14738]
2014-08-14Merging Power model into FermiTayler Hetherington
//depot/gpgpu_sim_research/fermi_power/distribution/... to //depot/gpgpu_sim_research/fermi/distribution/... [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14723]
2014-08-14Changing the QuadroFX5800 config to use compute capability 1.3 (no idea why ↵Wilson Fung
it was not...). Adding sign-extension mode for cvt.s16.s32 that writes to a .u32 register. Adding stub parsing for .maxnctapersm directive. Removing benchmarks with known-issues from regression list for now. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14572]
2014-08-14Fixed a bug introduced in CL14565 for PTXPlus.Wilson Fung
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14566]
2014-08-14Extended PTX parser to recognize the .ptr .shared directive and allocate ↵Wilson Fung
shared memory buffer to those pointers. This is required to support OpenCL local memorywith the newer NVIDIA driver. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14565]
2014-08-14OpenCL newer diver fixHadi Jooybar
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14554]
2014-08-14Fixed the timing model for LDU instruction, before it was not recognized as ↵Wilson Fung
a memory instruction in the timing model. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14538]
2014-08-14Added functional execution support for shared memory atomic operations.Inderpreet Singh
Integrated in CL14335 and CL14336 [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14366]
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-14Fixing regression failure: vote.all was broken by vote.ballet implementation.Wilson Fung
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13996]
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 texture fetching for 1D texture with non-normalized coordinates: ↵Wilson Fung
Adding support for the floating point input coordinate, and handling of out-of-bound coordinates. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13959]
2014-08-14Fixing multi-element texel access. Now texture with RGBA components are ↵Wilson Fung
read properly. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13949]
2014-08-14Adding support for cudaReadModeNormalizedFloat (a texture read mode). See ↵Wilson Fung
bug 18 (external) for detail. The blocked SDK benchmarks are still not working due to mismatch of texture element layout in memory between real GPU and GPGPU-Sim. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13933]
2014-08-14Extending ptx.y to ignore the .minnctapersm directive (at least it will not ↵Wilson Fung
crash the simulator for now). [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13841]
2014-08-14Adding single element vector operands to support tex.1d instructions in CUDA ↵Wilson Fung
4.1 and later. KMN-FT should pass with this changelist. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13833]
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-14Fixing bugs 169, 170, 171Ahmed El-Shafiey
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13761]
2014-08-14Integration from tm-311 branch. Adding support for atomic operation with ↵Wilson Fung
generic memory space. Also adding a define to allow support for OpenCL 1.0 commands that are deprecated in OpenCL 1.1. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13722]
2014-08-14Fixing compile error on my machineAndrew M. B. Boktor
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13703]
2014-08-14Back out changelist 13683Andrew M. B. Boktor
There is a problem with the linkage on my machine. Before this changelist the code didn't build on my machine. After it it builds but fails to run due to missing dynamic linkage. And obviously it breaks the jenkins build. [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13684]
2014-08-14Removing compiler warningsAndrew M. B. Boktor
Fixing failed compilation due to double definition of parsing functions [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13683]
2014-08-14Putting GPGPU-sim into nvcc version specific build and lib folders.Tim Rogers
Also changing the cuobjdump_to_ptxplus build to into the build directory instead of inline with the src [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13567]
2014-08-14- can compile on MacOSX (tested on Lion)... no regression testing done on MacTor Aamodt
- ptxplus ... edits to eliminate some warnings with older gcc about printfs without string literal - eliminate warning about map (just too annoying while testing on Mac) [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13560]
2014-08-14Adding missing math functions for mac osx compatiblity.Wilson Fung
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13558]
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-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-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]