summaryrefslogtreecommitdiff
path: root/src/cuda-sim/memory.cc
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-07-21 01:30:39 -0800
committerTor Aamodt <[email protected]>2010-07-21 01:30:39 -0800
commit58d928ca0eb339d1bbc9985730c163af26c4e2e1 (patch)
treefd6e6796b5aa5e9ba297081ed332db7664ac8695 /src/cuda-sim/memory.cc
parenta884b505457d48dcd2783563d407e14a607456ee (diff)
- reduce 3.1 sdk regression test runtimes (as per 2.3 sdk versions)
- add ldu support (just use ld for now) - get rid of asserts for .const[n] - status: cuda sdk 3.1 dct8x8, eigenvalues, MersenneTwister, reduction, scan still running (too slow) ocl sdk 3.1 oclQuasirandomGenerator still running (too slow) ocl sdk 3.1 oclReduction fail comparison (cuda 3.1) ocl sdk 3.1 oclMatrixMul exits mid computation ocl sdk 3.1 oclTranspose hits "clCreateBuffer - buffer already created for this host variable" ocl sdk 3.1 oclSortingNetworks fails w/ message about min workgroup size remaining 30 tests pass [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6927]
Diffstat (limited to 'src/cuda-sim/memory.cc')
-rw-r--r--src/cuda-sim/memory.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/cuda-sim/memory.cc b/src/cuda-sim/memory.cc
index 754fe7f..09c9e81 100644
--- a/src/cuda-sim/memory.cc
+++ b/src/cuda-sim/memory.cc
@@ -94,7 +94,13 @@ template<unsigned BSIZE> void memory_space_impl<BSIZE>::read( mem_addr_t addr, s
unsigned offset = addr & (BSIZE-1);
unsigned nbytes = length;
typename map_t::const_iterator i = m_data.find(index);
- assert( (addr+length) <= (index+1)*BSIZE );
+ if( (addr+length) > (index+1)*BSIZE ) {
+ printf("GPGPU-Sim PTX: ERROR * access to memory \'%s\' is unaligned : addr=0x%x, length=%zu\n",
+ m_name.c_str(), addr, length);
+ printf("GPGPU-Sim PTX: (addr+length)=0x%lx > 0x%x=(index+1)*BSIZE, index=0x%x, BSIZE=0x%x\n",
+ (addr+length),(index+1)*BSIZE, index, BSIZE);
+ throw 1;
+ }
if( i == m_data.end() ) {
for( size_t n=0; n < length; n++ )
((unsigned char*)data)[n] = (unsigned char) 0;