Skip to content

Instantly share code, notes, and snippets.

View InnovArul's full-sized avatar
💭
wandering around in the AI space

Arulkumar InnovArul

💭
wandering around in the AI space
View GitHub Profile
@InnovArul
InnovArul / CudaErrorCheckExample.cu
Last active February 7, 2016 09:50
demonstration of the usage of helper API CudaCheckError()
#include <stdio.h>
/**
* A dummy cuda asynchronous function
*/
__global__ void fillContents(int N, int* output)
{
int correctIndex = threadIdx.x * N;
for(int i = correctIndex; i < N; i++)
/**
* API to report the memory usage of the GPU
*/
static void reportMemStatus() {
// show memory usage of GPU
size_t free_byte;
size_t total_byte;
size_t malloc_byte;
#define MALLOC_LIMIT 1024*1024*1024 //1 GB
//eliminate calling cudaDeviceSetLimit multiple times
bool IsMallocSet = false;
/**
* API to set the malloc limit of GPU
*/
static void setMallocLimit() {
#include "stdio.h"
//enable error check
#define CUDA_ERROR_CHECK
//check the synchronous function call errorcode 'err' if it is a cudaSuccess
#define CudaSafeCall( err ) __cudaSafeCall( err, __FILE__, __LINE__ )
//check if any error happened during asynchronous execution of Cuda kernel __global__ function
#define CudaCheckError() __cudaCheckError( __FILE__, __LINE__ )
@InnovArul
InnovArul / numeric_gradcheck.lua
Created December 20, 2015 07:12
numerical grad check for different type of tensors
require 'torch';
require 'math'
require 'io'
require 'cutorch';
require 'cunn';
opt = 'DOUBLE' -- FLOAT / DOUBLE / CUDA
-----------------------------------------------------------