summaryrefslogtreecommitdiff
path: root/CHANGES
blob: 8d9d5402f7ccb89fe6b137786fe3cf6b56fe2022 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
CHANGE LOG:
Version 3.0.1 versus 3.0.0b
- Updated README and setup_environment for more streamlined setup. 
  Including install instructions for Ubuntu 10.04.3 LTS
- Changed Quadro FX 5800 config to use PTX by default (not SASS/decuda)
- Added Doxygen generated documentation
- Removed ISPASS 2009 configuration (use Quadro FX 5800 config instead)
- Removed common.mk (run native CUDA/OpenCL applications)
- Removed out-of-date GPGPU-Sim documentation. This wil be updated in a 
  later release.  Refer to Doxygen documentation and/or source code.
- Added prints for L1 data cache statistics
- SIMD width option removed from shader_core_pipeline_opt (was not used)
- Added read-to-precharge constraint in DRAM
- Disabled Stream Manager's verbose output by default, use debug level 3 to 
  enable it
- Addresses returned by memory allocation are now 256 bytes aligned
- Ejection from the clock domain interface buffer between interconnection 
  network and L2 cache happens in the L2 clock domain instead of interconnect 
  clock domain.
- Update OpenCL support to work with AMD OpenCL sample applications
- Bug fixes
   - Fixed the variation in instruction count seen under different cache
     configurations on the same workload
   - Fixed unnecessary flushing of instruction buffer
   - Fixed mislabeling of stall cycles recorded by scheduler
   - Fixed compilation issues when using gcc 4.5.1
   - Cleanup and bugfixes to build scripts
   - Fixed gpu_sim_cycle with sequential kernel launches
   - Fixed memory corruption bug in decuda_to_ptxplus causing parse errors

Version 3.0.0b versus 2.1.2b
- massive refactoring of code to C++ (most global variables eliminated)
- support for executing native SASS code via decuda
- added to timing model:
   - in order scoreboard allowing multiple instructions per warp in 
     pipeline at a time
   - operand collector for modeling access to banked register files
   - prefetching texture cache model (Igehy et al., Graphics Hardware 1998)
   - updated data and constant cache models with updated MSHR model
- other changes I don't remember right now

Version 2.1.2b versus 2.1.1b:
- Better 1D texture support 
- bar.sync timing change for compatibility with NVIDIA hardware 
  (release barrier when all warps reach barrier, irrespective of 
  divergence state). Functional simulation mode disabled to 
  implement the expected barrier behavior under branch divergence 
- Refactored memory stage 
- Limited miss status holding registers 
- Experimental support for running on Mac OS X 
- Register bank conflict modeling (see MICRO-42 tutorial) 
- Changed files to C++ 
- Updated makefiles 
- Various improvements to aerialvision 
- Simulation speed improvement 
- Various minor fixes 

Version 2.1.1b versus 2.1.0b:
- Added support for OpenCL (requires OpenCL driver from NVIDIA)
- Added performance visualizer tool
- Added manual documenting usage of the simulator (see doc directory)
- Added configuration file for Quadro FX5800 (see configs directory)
- Simultaneous release of benchmarks from ISPASS 2009 paper (separate download)
- Improved shared memory bank conflict modeling
- Improved default mapping of local memory accesses to global address space 
- Added interconnect concentration modeling (to approximate effect of a TPC)
- Added support for GPU-to-GPU memory copies (same GPU), timing not modeled
- SimpleScalar code (for command line parsing and functional simulation of 
  memory) removed.
- PTX support for vector operands in mov instruction
- Bug fixes
   - stack overwrite bug fix (with thanks to Jake Adriaens)
   - interconnect clock domain crossing "bottleneck" bug (was not removing
     traffic quickly enough going from memory to shader cores)
   - immediate post dominator detection (affected eigenvalues SDK benchmark)
   - CTA/core calculation error with PTX containing calls and returns
   - global symbol lookup error when building with multiple .cu files
- Other general improvements and bugfixes

Version 2.1.0b versus 2.0b:
- Added support for parsing and functionally simulating up to CUDA 2.2 
  generated PTX
- Added dynamic warp formation timing model (see MICRO'07, ACM TACO'09 papers)
- Updated gpgpusim.config and mesh in benchmark subdirectories to be similar to
  ISPASS 2009 paper baseline configurations
- Added OpenGL interoperability support
- Added support for parsing embedded PTX files without requiring recompilation 
  (suggested by Gregory Diamos)
- Improved support for texture filtering (linear mode for 2D, closer agreement
  to hardware for 2D point sampling where sample points are close to texel
  boundaries)
- Benchmark examples updated to version from CUDA 2.2 SDK (NOTE: these will not 
  compile with earlier CUDA installations. However, GPGPU-Sim should still work 
  with applications written for older versions of CUDA.)
- Fixed splash screen: was reporting incorrect version
- Fixed bug comparing strings in basic block formation code
- Fixed bug with additional basic block (which lead to incorrect postdominator 
  analysis on some benchmarks with recent versions of CUDA)
- Fixed "warning: "/*" within comment" when building.
- "Other general improvements"