Hi all,
running my program (it uses cuda) with valgrind I'm getting this warning:
Warning: set address range perms: large range [0x800000000,
0x1300000000) (noaccess)
and I think even some false allarms (I will ask in CUDA forum).
Is that warning something to worry about ?
With CUDA 4.0 Nvidia introduced the Unified Memory Model, and even
launching the following
code:
#include <stdlib.h>
#include <iostream>
#include <cufft.h>
int main(int argc, char** argv) {
unsigned int myPlan;
if(cufftPlan1d(&myPlan, 1024, CUFFT_C2C, 1) != CUFFT_SUCCESS) {
std::cout << "cufftPlan1d failed" << std::endl;
::abort();
}
if(cufftDestroy(myPlan) != CUFFT_SUCCESS) {
std::cout << "cufftDestroy failed" << std::endl;
::abort();
}
}
I get from HTOP the info that my executable is using 42GB of virtual
memory (it seems this
is normal), may be this has something to do with the warning ?
This is the output of valgrind (valgrind-3.7.0.SVN) running the above code:
==7011== Memcheck, a memory error detector
==7011== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==7011== Using Valgrind-3.7.0.SVN and LibVEX; rerun with -h for copyright info
==7011== Command: ./a.out
==7011==
==7011== Warning: set address range perms: large range [0x800000000,
0x1300000000) (noaccess)
==7011== Invalid read of size 2
==7011== at 0xBCD267F: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xBCA94B8: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xBD3B6C8: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xB37FC35: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38BA2A: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38413A: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38B28B: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB391A09: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB385EF5: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB37858C: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB3A36E1: cudaFree (in
/usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0x4E379DF: ??? (in /usr/local/cuda/lib64/libcufft.so.4.0.17)
==7011== Address 0xefd0fe6 is 3,766 bytes inside a block of size 3,767 alloc'd
==7011== at 0x4C27B4A: malloc (vg_replace_malloc.c:263)
==7011== by 0xBCA92C4: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xBD3B6C8: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xB37FC35: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38BA2A: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38413A: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38B28B: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB391A09: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB385EF5: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB37858C: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB3A36E1: cudaFree (in
/usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0x4E379DF: ??? (in /usr/local/cuda/lib64/libcufft.so.4.0.17)
==7011==
==7011== Invalid read of size 1
==7011== at 0xBCD2923: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xBCA94B8: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xBD3B6C8: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xB37FC35: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38BA2A: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38413A: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38B28B: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB391A09: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB385EF5: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB37858C: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB3A36E1: cudaFree (in
/usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0x4E379DF: ??? (in /usr/local/cuda/lib64/libcufft.so.4.0.17)
==7011== Address 0xefd0fe7 is 0 bytes after a block of size 3,767 alloc'd
==7011== at 0x4C27B4A: malloc (vg_replace_malloc.c:263)
==7011== by 0xBCA92C4: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xBD3B6C8: ??? (in /usr/lib/libcuda.so.270.41.19)
==7011== by 0xB37FC35: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38BA2A: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38413A: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB38B28B: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB391A09: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB385EF5: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB37858C: ??? (in /usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0xB3A36E1: cudaFree (in
/usr/local/cuda/lib64/libcudart.so.4.0.17)
==7011== by 0x4E379DF: ??? (in /usr/local/cuda/lib64/libcufft.so.4.0.17)
==7011==
==7011==
==7011== HEAP SUMMARY:
==7011== in use at exit: 21,169,730 bytes in 22,932 blocks
==7011== total heap usage: 48,617 allocs, 25,685 frees, 23,954,629
bytes allocated
==7011==
==7011== LEAK SUMMARY:
==7011== definitely lost: 16 bytes in 1 blocks
==7011== indirectly lost: 0 bytes in 0 blocks
==7011== possibly lost: 0 bytes in 0 blocks
==7011== still reachable: 21,169,714 bytes in 22,931 blocks
==7011== suppressed: 0 bytes in 0 blocks
==7011== Rerun with --leak-check=full to see details of leaked memory
==7011==
==7011== For counts of detected and suppressed errors, rerun with: -v
--
cpp-today.blogspot.com
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users