diff options
| author | Tor Aamodt <[email protected]> | 2010-10-18 02:43:17 -0800 |
|---|---|---|
| committer | Tor Aamodt <[email protected]> | 2010-10-18 02:43:17 -0800 |
| commit | 87e4da5fc6086c3d0a661af1929255a8cbd728d7 (patch) | |
| tree | a4f40e66f5ca0d6efdf9d51672a1180c8a381170 /src/tr1_hash_map.h | |
| parent | b577cbcdf229a2c02d1bf8584c6e82be7a14cb33 (diff) | |
Re-designed cache model:
- read only cache model with integrated mshrs (no L1D, yet); new
cache interface should be easily extendable to support texture
cache with latency fifo and separate tag/data arrays, though
this is not yet added (currently tags and data arrays are not
decoupled for texture)
- new partition model using the above
removes all old MSHRs, L1D etc...
passing CUDA 3.1 regression
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 7875]
Diffstat (limited to 'src/tr1_hash_map.h')
| -rw-r--r-- | src/tr1_hash_map.h | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/src/tr1_hash_map.h b/src/tr1_hash_map.h index 1ff7c8e..f7813ae 100644 --- a/src/tr1_hash_map.h +++ b/src/tr1_hash_map.h @@ -3,20 +3,38 @@ // detection and fallback for unordered_map in C++0x #ifdef __cplusplus #ifdef __GNUC__ - #if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3 - #include <unordered_map> - #define tr1_hash_map std::unordered_map - #define tr1_hash_map_ismap 0 + #if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3 + #include <unordered_map> + #define tr1_hash_map std::unordered_map + #define tr1_hash_map_ismap 0 + #else + #include <map> + #define tr1_hash_map std::map + #define tr1_hash_map_ismap 1 + #endif #else #include <map> #define tr1_hash_map std::map #define tr1_hash_map_ismap 1 #endif - #else - #include <map> - #define tr1_hash_map std::map - #define tr1_hash_map_ismap 1 - #endif -#endif + // detect gcc 4.3 and use unordered map (part of c++0x) + // unordered map doesn't play nice with _GLIBCXX_DEBUG, just use a map if its enabled. + #if defined( __GNUC__ ) and not defined( _GLIBCXX_DEBUG ) + #if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3 + #include <unordered_map> + #define my_hash_map std::unordered_map + #else + #include <ext/hash_map> + namespace std { + using namespace __gnu_cxx; + } + #define my_hash_map std::hash_map + #endif + #else + #include <map> + #define my_hash_map std::map + #define USE_MAP + #endif +#endif |
