Git Product home page Git Product logo

tsi-gpgpu's Introduction

tsi-gpgpu

A project to investigate the power of GPGPU programming for engineering tasks.

The quick n'dirty guide to getting started on Windows

Requirements:

  • Microsoft Visual Studio 2010
  • CUDA 5.5
  • Git
  • CMake

To get up and running, open the Visual Studio Command Prompt, or any other shell where the Visual Studio tool-chain is set up, and do the following:

  1. Clone the source from GitHub.

    git clone https://github.com/hgranlund/tsi-gpgpu.git

  2. Make a build folder and build the project with CMake.

    $> cd "to project root"\tsi-gpgpu ..\tsi-gpu> mkdir build $$ cd build

    cmake -G "Visual Studio 10.0" ..\

    ..\tsi-gpu\build> cmake -G "NMake Makefiles" ..
    ..\tsi-gpu\build> nmake

  3. Check that all is good and run the current tests.

    $> cd "to build folder" ..\tsi-gpu\build> nmake test

All executables will be in /build/bin and all libraries will be in /build/lib/.

Folder layout

Code and documentation for different experiments are placed under the /src folder. Some source folders are supplies with informative README.md files. Visit tsi-gpgpu/src/kNN for the most recent update on the kNN effort.

Relevant papers and other background material is placed in the /resources folder.

Installation notes for Windows

Installing CUDA

Get the installer at the download page. NVIDIA has a good getting started guide.

Installing Git

GitHub supplies an native app for Windows. This is the easy way to get started. Remember to check the options to add Git to your environment variables, if you want to be able to use Git from CMD or PowerShell. If this is problematic, you can also use the GUI for getting the source code.

Installing CMake

Visit CMake.org and find a suitable installer for your system.

Bonus snacks for *NIX addicts

  • Virtual desktops can be added to Windows with the Desktops add-on.
  • PowerShell is your new bash.
  • PsGet is a package manager for PowerShell modules. Try it out with Posh-Git.
  • PowerShell Community Extensions has a lot of good stuff.
  • Set up Powershell to work as your Visual Studio Command Prompt by loading vsvars.bat.

Installation notes for Ubuntu

Installing CUDA

sudo apt-get install nvidia-cuda-toolkit

Installing Git

apt-get install git

Installing CMake

sudo apt-get install cmake

Build with

...\tsi-gpu> mkdir build $$ cd build
...\tsi-gpu/build> cmake ../
...\tsi-gpu/build> make

All executables will be in /build/bin and all libraries will be in /build/lib/.

Amazon setup

  1. Create an amazon instance by following amazon's instructions. Select ubuntu-precise-12.04-amd64-server, and selelct the GPU intance type g2.2xlarge.

  2. After the instance is setup, SSH into it.

  3. Setup dependencies needed to install CUDA (gcc):

     sudo apt-get update 
     sudo apt-get install gcc 
    
  4. Download and install CUDA. For our choice in os, grap the following .deb file.:

     wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_5.5-0_amd64.deb
    
  5. Then run:

     sudo dpkg -i cuda-repo-ubuntu1204_5.5-0_amd64.deb
     sudo apt-get update 
     sudo apt-get install cuda 
    
  6. Setup environment; Run the following lines. Add them to ~/.bashrc to make it permanent.

     export PATH=/usr/local/cuda-5.5/bin:$PATH 
     export LD_LIBRARY_PATH=/usr/local/cuda-5.5/lib64:$LD_LIBRARY_PATH 
    
  7. Install CUDA samples (optional) to some directory:

     cuda-install-samples-5.5.sh .
    
  8. Verify an example works:

     cd  <NVIDIA_CUDA-5.5_Samples>/1_Utilities/deviceQuery 
     make 
     ./deviceQuery 
    
  9. Now that CUDA is installed, lets start building the project. First, clone the project from Github.

     sudo apt-get install git
     git clone https://github.com/hgranlund/tsi-gpgpu.git
    
  10. Install cmake and build the project.

    cd tsi-gpgpu
    sudo apt-get install cmake
    mkdir build && cd build
    cmake ..
    make
    
  11. Now the project is created, test the solution by:

    make test
    

Timing executables

The project comes with three timing test executables, time_kd_search, time_kd_search_openmp and time_kd_tree build. The following section describes how to use these executables for timing tests of the different library functions. Time_kd_tree build is documented in more detail as a reference for anyone not that familiar with a command line.

Time_kd_search:

Time_kd_search generates a kd-tree, queries for all the points in the tree, or a specified number of points, and then prints the timing results. The calculation is performed using the GPU, and the API function cuQueryAll. Under is a short summary of the different input options:

.\time_kd_search.exe <number-of-points>
.\time_kd_search.exe <number-of-points> <path to file>
.\time_kd_search.exe <start number-of-points> <end number-of-points> <step>
.\time_kd_search.exe <start number-of-points> <end number-of-points> <step> <number-of-k>
.\time_kd_search.exe <start number-of-points> <end number-of-points> <step> <number-of-query-points>

Time_kd_search_openmp:

Time_kd_search_openmp generates a kd-tree, queries for all the points in the tree, or a specified number of points, and then prints the timing results. The calculation is performed using the CPU, and the API function mpQueryAll. Under is a short summary of the different input options:

.\time_kd_search_openmp.exe <number-of-points>
.\time_kd_search_openmp.exe <number-of-points> <path to file>
.\time_kd_search_openmp.exe <start number-of-points> <end number-of-points> <step>
.\time_kd_search_openmp.exe <start number-of-points> <end number-of-points> <step> <number-of-k>
.\time_kd_search_openmp.exe <start number-of-points> <end number-of-points> <step> <number-of-query-points>

Time_kd_tree_build:

Time_kd_tree_build generates a kd-tree and prints the timing results. The input options are described below:

Build one tree of a give size:

.\time_kd_tree_build.exe <number-of-points>

So the command .\time_kd_tree_build.exe 100 would bouild a kd-tree consisting of 100 random points and return the timing results for the build algorithm.

Build several trees of increasing size:

.\time_kd_tree_build.exe <start number-of-points> <end number-of-points> <step>

Start number-of-points specifies the smallest tree in the series, and end number-of-points specifies the upper bound on the series. The step value determines the increase in size between each tree in the series. Every tree is built using new random point values.

So the command .\time_kd_tree_build.exe 100 300 150 would build two trees, one of size 100, and one of size 250, and return the timing results for both build operations.

Build one tree from points specified in a binary file:

.\time_kd_tree_build.exe <number-of-points> <path to file>

Number-of-points specifies how many points the executable will read from the data-file. This number should be lower than the actual number of points contained in the data-file. Path to file is the path to the data-file containing the points.

So the command .\time_kd_tree_build.exe 10000 \path-to-file\100_mill_points.data would build a kd-tree from the first 10 000 points specified in the data-file.

File format

The executables accepts binary files. The points should be written sequentially with x, y and z values. The methods for reading and writing points can be found at: Github

Known errors

ErrorLaunchTimeOut:

Reason:

If your GPU is used for both display as well as for CUDA, then the OS will send a timeout message that will terminate the kernel/program.

Solution:

To solve the error one have to make the GPU only work as a CUDA GPU. There are a couple of ways to to dis:

  1. (Good) Buy a separate GPU for CUDA computations.
  2. (Bad) Change the timeout value in regedit. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers --> TdrLevel = "yourTimeoutValueInSeconds".

Source file relations

This section outlines important files, and their relation, and can serve as a guide for anyone wanting to attempt to port the source code to a different build system.

/include/knn_gpgpu.h

This is the main API header file.

/src/kNN/data_types.h, /src/kNN/point.h and /src/kNN/stack.h

This is header files defining important structs.

/src/kNN/brute-force/kNN-brute-force-reduce.cu and kNN-brute-force-reduce.cuh

This is the file that implements the fastest version of our brute-force algorithm. It is dependant on the reduce implementation.

/src/kNN/brute-force/reduction-mod.cu and reduction-mod.cuh

tsi-gpgpu's People

Contributors

hgranlund avatar teodoran avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tsi-gpgpu's Issues

Missing files is breaking the build

You know the drill ;-)

CMake Error at ...
  Cannot find source file:
    tsi-gpgpu/src/kNN/kernels/quick-select.cu
    tsi-gpgpu/src/kNN/kernels/quick-select.cuh

kd-tree-iterative.c don't compile in windows.

Stack-trace from cl.exe:

kd-tree-iterative.c
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(68) : warning C4033: 'center_median' must return a value
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(77) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(83) : error C2065: 'i' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(83) : error C2065: 'i' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(83) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(83) : error C2065: 'i' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(85) : error C2065: 'i' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(85) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(87) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(91) : error C2065: 'i' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(103) : warning C4013: 'log2' undefined; assuming extern returning int
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(103) : warning C4244: 'initializing' : conversion from 'double' to 'int', possible
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(106) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of dat
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(138) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(142) : error C2065: 'dx' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(142) : error C2065: 'dx' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(142) : error C2065: 'dy' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(142) : error C2065: 'dy' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(142) : error C2065: 'dz' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(142) : error C2065: 'dz' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(142) : warning C4244: 'return' : conversion from 'int' to 'float', possible loss of
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(153) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(160) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(160) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(160) : error C2065: 'target_index' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(162) : error C2065: 'target_index' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(164) : error C2065: 'target_index' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(164) : error C2065: 'other_index' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(165) : error C2065: 'other_index' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(168) : error C2065: 'target' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(168) : error C2065: 'target_index' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(169) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(170) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(172) : error C2065: 'current_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(172) : error C2065: 'target_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(174) : error C2065: 'target_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(174) : error C2065: 'current_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(175) : error C2065: 'target' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(178) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(178) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(178) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(178) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(178) : error C2065: 'target_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(178) : error C2065: 'other_index' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(180) : error C2065: 'target' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(183) : error C2065: 'other' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(183) : error C2065: 'other_index' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(184) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(186) : error C2065: 'other_distance' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(186) : error C2065: 'target_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(188) : error C2065: 'target' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(190) : error C2065: 'other' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(253) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(265) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(265) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(265) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(267) : error C2065: 'target_lower' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(268) : error C2065: 'target_upper' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(268) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(269) : error C2065: 'other_lower' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(269) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(270) : error C2065: 'other_upper' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(273) : error C2065: 'target' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(273) : error C2065: 'target_lower' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(273) : error C2065: 'target_upper' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(275) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(278) : error C2065: 'current_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(278) : error C2065: 'target_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(280) : error C2065: 'target_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(280) : error C2065: 'current_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(281) : error C2065: 'target' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(281) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(284) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(284) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(284) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(284) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(284) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(284) : error C2065: 'd' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(284) : error C2065: 'target_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(286) : error C2065: 'target' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(289) : error C2065: 'other' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(289) : error C2065: 'other_lower' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(289) : error C2065: 'other_upper' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(291) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(293) : error C2065: 'other_distance' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(293) : error C2065: 'target_dist' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(295) : error C2065: 'target' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(297) : error C2065: 'other' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(307) : error C2143: syntax error : missing ';' before 'type'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(310) : error C2065: 'i' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(310) : error C2065: 'i' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(310) : error C2065: 'i' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(314) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(314) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(314) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(314) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(314) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(314) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(316) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(317) : error C2065: 'r' : undeclared identifier
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(322) : error C2079: 'tmpTime' uses undefined struct 'timeval'
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(323) : warning C4013: 'gettimeofday' undefined; assuming extern returning int
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(324) : error C2224: left of '.tv_sec' must have struct/union type
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(324) : error C2224: left of '.tv_usec' must have struct/union type
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(324) : warning C4033: 'wall_time' must return a value
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(329) : error C2057: expected constant expression
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(329) : error C2466: cannot allocate an array of constant size 0
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(329) : error C2133: 'dists' : unknown size
C:\Users\simenhg\Documents\GitHub\tsi-gpgpu\src\kNN\kd-tree\kd-tree-iterative.c(329) : fatal error C1003: error count exceeds 100; stopping compilation
NMAKE : fatal error U1077: 'C:\PROGRA2\MICROS1.0\VC\bin\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.

CMake Error

I guess something was left out of the commit :-)

CMake Error at /usr/share/cmake-2.8/Modules/FindCUDA.cmake:1266 (add_library):
  Cannot find source file:

    kernels/radix-select.cuh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.