| Age | Commit message (Collapse) | Author |
|
* Temp commit for Justin and Cassie to sync on
code changes for adding per-stream status.
* Resolved compile errors.
* Removed redundant parameter
* Passed cuda_stream_id from accelsim to gpgpusim
* Cleaned up unused changes
* Changed vector to map, having operator problems.
* StreamID defaults to zero
* Implemented streams to inc_stats and so on
* Fixed TOTAL_ACCESS counts
* Implemented GLOBAL_TIMER.
* Fixed m_shader->get_kernel SEGFAULT issue in shader.cc.
* Use warp_init to track streamID instead of issue_warp
* Removed temp debug print
* Modified cache_stats to only print data from latest finished stream
Added optional arg to cache_stats::print_stats, cache_stats::print_fail_stats and their upstream functions. When streamID is specified, print stats
from that stream. When not specified, print all stats.
NOTE: current implementation depending on streamid never equals -1
* Removed default arg values of streamID
* modified constructor of mem_fetch to pass in streamID
* changed get_streamid to get_streamID
* Added TODO to gpgpusim_entrypoint.cc and power_stat.cc
* Only collect power stats when enabled
* print last finished stream in PTX mode using last_streamID
* take out additional printf
* Add a field to baseline cache to indicate cache level
* save gpu object in cache
* Print stream ID only once per kernel
* rm test print
* use -1 for default stream id
* cleanup debug prints
* remove GLOABL_TIMER
* Automated clang-format
* Should be correct to print everything in power model
* addressing concerns & errors
* Automated clang-format
* add m_stats_pw in operator+
* Automated Format
---------
Co-authored-by: Justin Qiao <[email protected]>
Co-authored-by: Justin Qiao <[email protected]>
Co-authored-by: Tim Rogers <[email protected]>
Co-authored-by: JRPan <[email protected]>
Co-authored-by: purdue-jenkins <[email protected]>
|
|
|
|
|
|
into dev-traces
|
|
|
|
This reverts commit 26ca8de4a6ec9bfe422a14cbe325a5f257df453b.
|
|
|
|
into dev-traces
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
|
|
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
Signed-off-by: Mengchi Zhang <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
adds check for null stream case on cudaStreamWaitEvent
|
|
normal operation. This helps immensely in a clustered environmrnt where jobs randomly fail
|
|
normal operation. This helps immensely in a clustered environmrnt where jobs randomly fail
|
|
happen, something bad has happened
|
|
|
|
am stopping this by gaurding against it in the same way we do for updating the stat counts (checking if we have executed any cycles before printing). I am not sure what this does to CDP stat prints - as I am not sure what CDP kernels so to sim_cycles.... However EVERY other app except CDP is spewing junk to the output and it really messes up any per-kernel stat collection scripts.
|
|
|
|
|
|
|
|
child kernels in CDP. BUG: .weak .entry and .weak .global directives in ptx file. BUG: empty_protected() for stream manager causes deadlock, change to empty()
|
|
|
|
with spaces (e.g., using templates)
|
|
kernels can complete while other kernels are still running. The fix in CL16463 caused the GPU to re-initialize when a kernel completes, which may occur while another kernel is still running. Added a check to test if the GPU is also inactive when a kernel completes in order to re-initialize. simpleStreams CUDA SDK now passes with CUDA 3.1.
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16469]
|
|
Not sure if this is the only issue, but this was definitely a source of non-determinism (checked with many of the <rodinia>-FT benchmarks). In gpgpu_sim_thread_concurrent() (gpgpusim_entrypoint.cc), the inner do{...}while(active); only breaks when the gpu is not active. As a result, the gpu is only initialized when the gpu becomes momentarily inactive. If one kernel completes while another kernel is currently pending in the stream's queue, the next kernel will start running immediately causing the GPU to not be reinitialized (which includes resetting per-kernel stats). The fix simply recognizes that a kernel has completed and breaks from the loop prior to starting the next operation.
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16463]
|
|
undone in CL 12023 probably by mistake.
Reveiw ID: 17001
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15885]
|
|
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15055]
|
|
//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]
|
|
solves the problem of underminitstic kernel finish detection
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 14206]
|
|
- 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]
|
|
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12491]
|
|
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]
|
|
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]
|
|
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12358]
|