<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE entry SYSTEM "SamplesInfo.dtd">
<entry>
  <name>particles</name>
  <cflags>
    <flag>--std=c++14</flag>
  </cflags>
  <cuda_api_list>
    <toolkit>cudaMemcpyToSymbol</toolkit>
    <toolkit>cudaMemset</toolkit>
    <toolkit>cudaFree</toolkit>
    <toolkit>cudaGraphicsMapResources</toolkit>
    <toolkit>cudaGLInit</toolkit>
    <toolkit>cudaGraphicsGLRegisterBuffer</toolkit>
    <toolkit>cudaGraphicsResourceGetMappedPointer</toolkit>
    <toolkit>cudaDeviceSynchronize</toolkit>
    <toolkit>cudaInit</toolkit>
    <toolkit>cudaMalloc</toolkit>
    <toolkit>cudaGraphicsUnregisterResource</toolkit>
    <toolkit>cudaGraphicsUnmapResources</toolkit>
    <toolkit>cudaMemcpy</toolkit>
  </cuda_api_list>
  <description><![CDATA[This sample uses CUDA to simulate and visualize a large set of particles and their physical interaction.  Adding "-particles=<N>" to the command line will allow users to set # of particles for simulation.  This example implements a uniform grid data structure using either atomic operations or a fast radix sort from the Thrust library]]></description>
  <devicecompilation>whole</devicecompilation>
  <files>
    <file>data\ref_particles.ppm</file>
    <file>data\ref_particles.bin</file>
  </files>
  <includepaths>
    <path>./</path>
    <path>../</path>
    <path>../../../Common</path>
  </includepaths>
  <keyconcepts>
    <concept level="advanced">Graphics Interop</concept>
    <concept level="advanced">Data Parallel Algorithms</concept>
    <concept level="advanced">Physically-Based Simulation</concept>
    <concept level="advanced">Performance Strategies</concept>
  </keyconcepts>
  <keywords>
    <keyword>CUDA</keyword>
    <keyword>GPGPU</keyword>
    <keyword>OpenGL</keyword>
    <keyword>openGL</keyword>
    <keyword>CPP14</keyword>
  </keywords>
  <libraries>
    <library>GLU</library>
    <library>GL</library>
    <library framework="true" os="macosx">GLUT</library>
    <library os="linux">GLEW</library>
    <library os="linux">glut</library>
    <library os="linux">X11</library>
  </libraries>
  <librarypaths>
    <path arch="x86_64" os="linux">../../../common/lib/linux/x86_64</path>
    <path arch="armv7l" os="linux">../../../common/lib/linux/armv7l</path>
    <path os="macosx">../../../common/lib/darwin</path>
  </librarypaths>
  <nsight_eclipse>true</nsight_eclipse>
  <primary_file>particles.cpp</primary_file>
  <qatests>
    <qatest>-file=ref_particles.bin</qatest>
  </qatests>
  <required_dependencies>
    <dependency>X11</dependency>
    <dependency>GL</dependency>
  </required_dependencies>
  <scopes>
    <scope>2:Graphics Interop</scope>
    <scope>3:Physically-Based Simulation</scope>
  </scopes>
  <sm-arch>sm35</sm-arch>
  <sm-arch>sm37</sm-arch>
  <sm-arch>sm50</sm-arch>
  <sm-arch>sm52</sm-arch>
  <sm-arch>sm53</sm-arch>
  <sm-arch>sm60</sm-arch>
  <sm-arch>sm61</sm-arch>
  <sm-arch>sm70</sm-arch>
  <sm-arch>sm72</sm-arch>
  <sm-arch>sm75</sm-arch>
  <sm-arch>sm80</sm-arch>
  <sm-arch>sm86</sm-arch>
  <sm-arch>sm87</sm-arch>
  <sources>
    <extraheader>..\..\..\Common\param.h</extraheader>
    <extraheader>..\..\..\Common\paramgl.h</extraheader>
    <extraheader>..\..\..\Common\rendercheck_gl.h</extraheader>
  </sources>
  <supported_envs>
    <env>
      <arch>x86_64</arch>
      <platform>linux</platform>
    </env>
    <env>
      <platform>windows7</platform>
    </env>
    <env>
      <arch>x86_64</arch>
      <platform>macosx</platform>
    </env>
    <env>
      <arch>arm</arch>
    </env>
    <env>
      <arch>sbsa</arch>
    </env>
  </supported_envs>
  <supported_sm_architectures>
    <include>all</include>
  </supported_sm_architectures>
  <title>Particles</title>
  <type>exe</type>
  <whitepaper>doc\particles.pdf</whitepaper>
</entry>