Skip to content

Instantly share code, notes, and snippets.

View robertmaynard's full-sized avatar

Robert Maynard robertmaynard

View GitHub Profile
#include <type_traits>
template <typename... Ls>
struct apply_impl
{
using type = std::integral_constant<bool,true>;
};
@robertmaynard
robertmaynard / CMakeLists.txt
Created April 28, 2017 19:14
separablecompilation_msvc
cmake_minimum_required(VERSION 3.7)
project( DelayDeviceLinking CUDA)
string(APPEND CMAKE_CUDA_FLAGS " -gencode arch=compute_30,code=compute_30")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CUDA_STANDARD 11)
add_library(StaticA STATIC function1.cu)
add_library(StaticB STATIC function2.cu)
add_library(StaticC STATIC function3.cu)
@robertmaynard
robertmaynard / virtual-methods.md
Created April 25, 2017 20:24
virtual methods write up

Execution side virtual methods in VTK-m

The following is a description of execution side virtual methods as currently implemented in VTK-m.

The majority of this implementation resides in the following class:

template<typename VirtualObject>
class VirtualObjectCache;
@robertmaynard
robertmaynard / main.cpp
Created March 30, 2017 16:38
VirtualExample
#include <iostream>
#include <typeinfo>
#include <vtkm/cont/ArrayHandle.h>
#include <vtkm/cont/RuntimeDeviceInformation.h>
#include <vtkm/cont/cuda/DeviceAdapterCuda.h>
#include <vtkm/cont/serial/DeviceAdapterSerial.h>
#include <vtkm/cont/TryExecute.h>

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CudaIssue1867810", "CudaIssue1867810.vcxproj", "{F432C891-06E0-4CBF-9A7F-50E84E64F913}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@robertmaynard
robertmaynard / msbuild.xml
Last active February 8, 2017 15:10
non_standard_extension_msbuild_cuda
A .vcxproj file containing:
<CudaCompile Include="foo.notcu" />
results in a failure to build:
nvcc fatal: Don't know what to do with 'C:/path/to/foo.notcu'
because CudaCompile does not pass '-x cu' to nvcc.
@robertmaynard
robertmaynard / msbuild.xml
Created February 8, 2017 15:06
abs_dir_cuda_issue
If a .vcxproj file contains:
<CudaCompile Include="C:\path\to\foo.cu" />
@robertmaynard
robertmaynard / CMakeLists.txt
Created February 6, 2017 19:18
separablecompilation
cmake_minimum_required(VERSION 3.7)
project(SepBug CXX CUDA)
#Goal for this example:
# show off separable compilation
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_50,code=compute_50")
set(CMAKE_CUDA_STANDARD 11)
set(CMAKE_CXX_STANDARD 11)
@robertmaynard
robertmaynard / CMakeLists.txt
Created January 12, 2017 22:15
cuda_wrap_srcs_example
set(srcs
cpp_source1.cpp
)
set(cuda_srcs
cuda_source1.cu
)
set(GPGPU_BUILD_TYPE STATIC)