Skip to content

Instantly share code, notes, and snippets.

View ugovaretto's full-sized avatar

Ugo Varetto ugovaretto

View GitHub Profile
@ugovaretto
ugovaretto / CMakeLists-cudamemcpy.txt
Created May 7, 2012 09:19
Minimal cuda program(memory transfer only)
cmake_minimum_required(VERSION 2.8)
project(cudamemcpy)
include(FindCUDA)
include_directories(${CUDA_INCLUDE_DIRS})
set( SRCS cudamemcpy.cpp )
add_executable( cudamemcpy ${SRCS} )
cmake_minimum_required(VERSION 2.8)
project(cudaptrinfo)
include(FindCUDA)
include_directories(${CUDA_INCLUDE_DIRS})
set( SRCS cudaptrinfo.cpp )
add_executable( cudaptrinfo ${SRCS} )
@ugovaretto
ugovaretto / mvapich2-cuda-init.c
Created July 6, 2012 13:48
MVAPICH2 multi-gpu initialization
void device_binding ()
{
int local_rank, num_local_procs;
int dev_count, use_dev_count, my_dev_id;
char *str;
if ((str = getenv ("MV2_COMM_WORLD_LOCAL_RANK")) != NULL)
{
local_rank = atoi (str);
@ugovaretto
ugovaretto / bwtest
Created July 11, 2012 08:58
NVIDIA bandwidth test
/opt/nvidia_gpu_sdk/4.2/C/bin/linux/release/bandwidthTest --csv --mode=range --memory=pageable --htod --start=1000 --end=100000 --increment=1000
@ugovaretto
ugovaretto / mvapich2-detect-gpu.c
Created July 20, 2012 11:50
Detect GPU support for MVAPICH2
char* str = NULL;
if( ( str = getenv( "MV2_USE_CUDA" ) ) != NULL) {
printf( "MVAPICH2-CUDA ENABLED: %s\n" );
}
@ugovaretto
ugovaretto / cuda-error.c
Created July 24, 2012 09:50
Check cuda error
#define CHECK_ERROR( err ) \
if( err != cudaSuccess ) { \
std::cerr << "ERROR: " << cudaGetErrorString( err ) << std::endl; \
exit( -1 ); \
}
#define CHECK_LAST_ERROR \
{ cudaError_t err = cudaGetLastError(); \
if( err != cudaSuccess ) { \
std::cerr << cudaGetErrorString( err ) << std::endl; \
@ugovaretto
ugovaretto / cud-cray-xk.txt
Created October 18, 2012 09:02
CUDA nvcc option for running on Cray XK*
-D__cudart_builtin__=__device__
@ugovaretto
ugovaretto / openclcontext-mpi-crayxk7.c
Created November 8, 2012 16:51
Test for gpu sharing with OpenCL on Cray XK7
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <mpi.h>
#include <CL/cl.h>
int main( int argc, char** argv ) {
cl_int error;
cl_platform_id platform;
cl_device_id device;
@ugovaretto
ugovaretto / cuda-event-timer.hpp
Created January 4, 2013 12:15
Minimal CUDA event timer
class CUDAEventTimer {
public:
CUDAEventTimer() {
cudaEventCreate(&start_);
cudaEventCreate(&stop_);
}
~CUDAEventTimer() {
cudaEventDestroy(start_);
cudaEventDestroy(stop_);
}
@ugovaretto
ugovaretto / cuda-blocking.cu
Last active December 10, 2015 15:08
CUDA: single kernel launch vs blocking with multiple kernel launches
#include <iostream>
#include <vector>
//#include <cstdio> - uncomment for printf in kernels
//#include <cuda_runtime.h>
//cuda is included automatically when compiling with nvcc
typedef double REAL_T;
//-----------------------------------------------------------------------------
class CUDAEventTimer {