--- a/openmpi/ompi/contrib/vt/vt/vtlib/vt_cudart.c	2012-09-02 23:50:04.281435383 +0200
+++ b/openmpi/ompi/contrib/vt/vt/vtlib/vt_cudart.c	2012-09-03 00:36:59.457551638 +0200
@@ -2291,12 +2291,21 @@
 }
 
 /* -- cuda_runtime_api.h:cudaMemcpyToSymbol -- */
+
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaMemcpyToSymbol(const void *symbol, const void *src, size_t count, size_t offset, enum cudaMemcpyKind kind)
+#else
 cudaError_t  cudaMemcpyToSymbol(const char *symbol, const void *src, size_t count, size_t offset, enum cudaMemcpyKind kind)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaMemcpyToSymbol",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (const void *, const void *, size_t , size_t , enum cudaMemcpyKind ),
+#else
     cudaError_t , (const char *, const void *, size_t , size_t , enum cudaMemcpyKind ),
+#endif
     NULL, 0);
 
   VT_CUDART_MEMCPY(symbol, src, kind, count,
@@ -2307,12 +2316,20 @@
 }
 
 /* -- cuda_runtime_api.h:cudaMemcpyFromSymbol -- */
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaMemcpyFromSymbol(void *dst, const void *symbol, size_t count, size_t offset, enum cudaMemcpyKind kind)
+#else
 cudaError_t  cudaMemcpyFromSymbol(void *dst, const char *symbol, size_t count, size_t offset, enum cudaMemcpyKind kind)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaMemcpyFromSymbol",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (void *, const void *, size_t , size_t , enum cudaMemcpyKind ),
+#else
     cudaError_t , (void *, const char *, size_t , size_t , enum cudaMemcpyKind ),
+#endif
     NULL, 0);
 
   VT_CUDART_MEMCPY(dst, symbol, kind, count,
@@ -2420,12 +2437,21 @@
 }
 
 /* -- cuda_runtime_api.h:cudaMemcpyToSymbolAsync -- */
+
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaMemcpyToSymbolAsync(const void *symbol, const void *src, size_t count, size_t offset, enum cudaMemcpyKind kind, cudaStream_t stream)
+#else
 cudaError_t  cudaMemcpyToSymbolAsync(const char *symbol, const void *src, size_t count, size_t offset, enum cudaMemcpyKind kind, cudaStream_t stream)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaMemcpyToSymbolAsync",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (const void *, const void *, size_t , size_t , enum cudaMemcpyKind , cudaStream_t ),
+#else
     cudaError_t , (const char *, const void *, size_t , size_t , enum cudaMemcpyKind , cudaStream_t ),
+#endif
     NULL, 0);
 
   CUDA_MEMCPY_ASYNC(kind, count, stream,
@@ -2436,12 +2462,21 @@
 }
 
 /* -- cuda_runtime_api.h:cudaMemcpyFromSymbolAsync -- */
+
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaMemcpyFromSymbolAsync(void *dst, const void *symbol, size_t count, size_t offset, enum cudaMemcpyKind kind, cudaStream_t stream)
+#else
 cudaError_t  cudaMemcpyFromSymbolAsync(void *dst, const char *symbol, size_t count, size_t offset, enum cudaMemcpyKind kind, cudaStream_t stream)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaMemcpyFromSymbolAsync",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (void *, const void *, size_t , size_t , enum cudaMemcpyKind , cudaStream_t ),
+#else
     cudaError_t , (void *, const char *, size_t , size_t , enum cudaMemcpyKind , cudaStream_t ),
+#endif
     NULL, 0);
 
   CUDA_MEMCPY_ASYNC(kind, count, stream,
@@ -2531,7 +2566,12 @@
 }
 
 /* -- cuda_runtime_api.h:cudaLaunch -- */
+
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaLaunch(const void *entry)
+#else
 cudaError_t  cudaLaunch(const char *entry)
+#endif
 {
   cudaError_t  ret;
   VTCUDADevice *vtDev = NULL;
@@ -2546,7 +2586,11 @@
 #endif
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaLaunch",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (const void *), NULL, 0);
+#else
     cudaError_t , (const char *), NULL, 0);
+#endif
 
   if(vt_cudart_trace_enabled){
     VT_CHECK_THREAD;
--- a/openmpi/ompi/contrib/vt/vt/vtlib/vt_cudartwrap.c	2012-09-02 23:57:10.137453008 +0200
+++ b/openmpi/ompi/contrib/vt/vt/vtlib/vt_cudartwrap.c	2012-09-03 00:28:27.573530473 +0200
@@ -142,12 +142,20 @@
 
 /* -- cuda_runtime_api.h:cudaGetSymbolAddress -- */
 
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaGetSymbolAddress(void **devPtr, const void *symbol)
+#else
 cudaError_t  cudaGetSymbolAddress(void **devPtr, const char *symbol)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaGetSymbolAddress",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (void **, const void *),
+#else
     cudaError_t , (void **, const char *),
+#endif
     NULL, 0);
 
   CUDARTWRAP_FUNC_START(vt_cudart_lw);
@@ -161,12 +169,20 @@
 
 /* -- cuda_runtime_api.h:cudaGetSymbolSize -- */
 
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaGetSymbolSize(size_t *size, const void *symbol)
+#else
 cudaError_t  cudaGetSymbolSize(size_t *size, const char *symbol)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaGetSymbolSize",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (size_t *, const void *),
+#else
     cudaError_t , (size_t *, const char *),
+#endif
     NULL, 0);
 
   CUDARTWRAP_FUNC_START(vt_cudart_lw);
@@ -389,12 +405,20 @@
 
 /* -- cuda_runtime_api.h:cudaGetTextureReference -- */
 
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaGetTextureReference(const struct textureReference **texref, const void *symbol)
+#else
 cudaError_t  cudaGetTextureReference(const struct textureReference **texref, const char *symbol)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaGetTextureReference",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (const struct textureReference **, const void *),
+#else
     cudaError_t , (const struct textureReference **, const char *),
+#endif
     NULL, 0);
 
   CUDARTWRAP_FUNC_START(vt_cudart_lw);
@@ -498,12 +522,21 @@
 }
 
 /* -- cuda_runtime_api.h:cudaFuncGetAttributes -- */
+
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const void *func)
+#else
 cudaError_t  cudaFuncGetAttributes(struct cudaFuncAttributes *attr, const char *func)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaFuncGetAttributes",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (struct cudaFuncAttributes *, const void *),
+#else
     cudaError_t , (struct cudaFuncAttributes *, const char *),
+#endif
     NULL, 0);
 
   CUDARTWRAP_FUNC_START(vt_cudart_lw);
@@ -794,12 +827,20 @@
 }
 
 /* -- cuda_runtime_api.h:cudaFuncSetCacheConfig -- */
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaFuncSetCacheConfig(const void *func, enum cudaFuncCache cacheConfig)
+#else
 cudaError_t  cudaFuncSetCacheConfig(const char *func, enum cudaFuncCache cacheConfig)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaFuncSetCacheConfig",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (const void *, enum cudaFuncCache ),
+#else
     cudaError_t , (const char *, enum cudaFuncCache ),
+#endif
     NULL, 0);
 
   CUDARTWRAP_FUNC_START(vt_cudart_lw);
@@ -966,12 +1007,21 @@
 #endif
 
 /* -- cuda_runtime_api.h:cudaGetSurfaceReference -- */
+
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaGetSurfaceReference(const struct surfaceReference **surfref, const void *symbol)
+#else
 cudaError_t  cudaGetSurfaceReference(const struct surfaceReference **surfref, const char *symbol)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaGetSurfaceReference",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (const struct surfaceReference **, const void *),
+#else
     cudaError_t , (const struct surfaceReference **, const char *),
+#endif
     NULL, 0);
 
   CUDARTWRAP_FUNC_START(vt_cudart_lw);
@@ -1562,12 +1612,21 @@
 }
 
 /* -- cuda_runtime_api.h:cudaFuncSetSharedMemConfig -- */
+
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+cudaError_t  cudaFuncSetSharedMemConfig(const void *func, enum cudaSharedMemConfig config)
+#else
 cudaError_t  cudaFuncSetSharedMemConfig(const char *func, enum cudaSharedMemConfig config)
+#endif
 {
   cudaError_t  ret;
 
   CUDARTWRAP_FUNC_INIT(vt_cudart_lw, vt_cudart_lw_attr, "cudaFuncSetSharedMemConfig",
+#if (defined(CUDART_VERSION) && (CUDART_VERSION >= 5000))
+    cudaError_t , (const void *, enum cudaSharedMemConfig ),
+#else
     cudaError_t , (const char *, enum cudaSharedMemConfig ),
+#endif
     NULL, 0);
 
   CUDARTWRAP_FUNC_START(vt_cudart_lw);
