2 <name>Mandelbrot</name>
3 <description><![CDATA[This sample uses CUDA to compute and display the Mandelbrot or Julia sets interactively. It also illustrates the use of "double single" arithmetic to improve precision when zooming a long way into the pattern. This sample use double precision hardware if a GT200 class GPU is present. Thanks to Mark Granger of NewTek who submitted this code sample.!]]></description>
4 <whitepaper></whitepaper>
5 <minspec>SM 1.0</minspec>
6 <keywords>GPGPU</keywords>
7 <scope>2:Graphics Interop,1:Data-Parallel Algorithms</scope>
9 <file>data\Mandelbrot_fp32.ppm</file>
10 <file>data\Mandelbrot_fp64.ppm</file>
11 <file>data\referenceJulia_fp32.ppm</file>
12 <file>data\referenceJulia_fp64.ppm</file>
15 <qatest>-mode=0 -file=Mandelbrot_fp32.ppm</qatest>
16 <qatest>-mode=1 -file=referenceJulia_fp32.ppm</qatest>
19 <cudaapi>cudaGLSetGLDevice</cudaapi>
20 <cudaapi>cudaGraphicsMapResources</cudaapi>
21 <cudaapi>cudaGraphicsUnmapResources</cudaapi>
22 <cudaapi>cudaGraphicsResourceGetMappedPointer</cudaapi>
23 <cudaapi>cudaGraphicsRegisterResource</cudaapi>
24 <cudaapi>cudaGraphicsGLRegisterBuffer</cudaapi>
25 <cudaapi>cudaGraphicsUnregisterResource</cudaapi>
26 <keyconcepts level="advanced">Graphics Interop</keyconcepts>
27 <keyconcepts level="advanced">Data Parallel Algorithms</keyconcepts>
29 <!-- *** Additional project definition information *** -->
30 <!-- Libraries that the project should be linked against. Document may contain any number of "libraries" elements. -->
31 <!-- Attributes "os" and "arch" are optional and may be used in any combination. -->
32 <!-- "framework" attribute will be ignored on platforms other then Mac OS X -->
33 <library>GLU</library>
35 <library os="macosx" framework="true">GLUT</library>
36 <library os="linux">X11</library>
37 <library os="linux">GLEW</library>
38 <library os="linux">glut</library>
40 <!-- Either absolute or relative to sample -->
41 <library-path os="windows" arch="x86_64">../../common/lib/x64</library-path>
42 <library-path os="windows" arch="Win32">../../common/lib/Win32</library-path>
43 <library-path os="linux" arch="x86_64">../../common/lib/linux/x86_64</library-path>
44 <library-path os="linux" arch="i686">../../common/lib/linux/i686</library-path>
45 <library-path os="macosx">../../common/lib/darwin</library-path>
47 <!-- Either absolute or relative to sample -->
48 <include-path>./</include-path>
49 <include-path>../</include-path>
50 <include-path>../../common/inc</include-path>
52 <!-- Can be either "separate" or "whole", omitting this element means that sample can be compiled either way -->
53 <devicecompilation>whole</devicecompilation>
55 <!-- These options will be passed to NVCC compiler as is and for all files -->
57 <nvcc-compiler file="Mandelbrot_kernel.cuh"></nvcc-compiler>
58 <sm-arch>sm11</sm-arch>
59 <sm-arch>sm13</sm-arch>
60 <sm-arch>sm20</sm-arch>
61 <sm-arch>sm30</sm-arch>
63 <!-- One of "exe|dll|lib" (exe is default) -->
66 <!-- By default IDE will open file "samplename.(cu|cpp) -->
67 <primary-file>Mandelbrot.cpp</primary-file>
69 <!-- Collection of [OS][:arch] tokens -->
70 <supported-env>linux:x86_64, linux:i686, windows7, macosx:x86_64, macosx:i686, :arm</supported-env>