diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..450d3bc41b --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +.* +*.o +*.exe +*.swp +*.Po +hip-amdinternal +HIP-Examples + +bin/hipInfo +samples/1_Utils/hipInfo/hipInfo diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..7bc946c576 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,133 @@ +# Contributor Guidelines + + +## Adding a new HIP API + + - Add a translation to the bin/hipify tool ; many examples abound. + - For stat tracking purposes, place the API into an appropriate stat category ("dev", "mem", "stream", etc). + - Add a inlined NVCC implementation for the function in include/nvcc_detail/hip_runtime_api.h. + - These are typically headers + - Add an HCC definition and Doxygen comments for the function in include/hcc_detail/hip_runtime_api.h + - Source implementation typically go in src/hcc_detail/hip_hcc.cpp. The implementation may involve + calls to HCC runtime or HSA runtime, or interact with other pieces of the HIP runtime (ie for + hipStream_t). + +#### Testing HCC version +In some cases new HIP features are tied to specified releases of HCC, and it can be useful to determine at compile-time +if the current HCC compiler is sufficiently new enough to support the desired feature. The `__hcc_workweek__` compiler +define is a monotonically increasing integer value that combines the year + workweek + day-of-week (0-6, Sunday is 0) +(ie 15403, 16014, etc). +The granularity is one day, so __hcc_workweek__ can only be used to distinguish compiler builds that are at least one day apart. + +``` +#ifdef __hcc_workweek_ > 16014 +// use cool new HCC feature here +#endif +``` + +Additionally, hcc binary can print the work-week to stdout: ("16014" in the version info below.)4 +``` +> /opt/hcc/bin/hcc -v +HCC clang version 3.5.0 (based on HCC 0.8.16014-81f8a3f-f155163-5a1009a LLVM 3.5.0svn) +Target: x86_64-unknown-linux-gnu +Thread model: posix +Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 +Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.4 +Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 +Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.1 +Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 +Candidate multilib: .;@m64 +Candidate multilib: 32;@m32 +Candidate multilib: x32;@mx32 +Selected multilib: .;@m64 +``` + +The unix `date` command can print the HCC-format work-week for a specific date , ie: +``` +> date --utc +%y%W%w -d 2015-11-09 +15451 +``` + +## Unit Testing Environment + +HIP includes unit tests in the tests/src directory. +When adding a new HIP feature, add a new unit test as well. +The tests/src/hipMemtest.cpp file contains a simple unit test and is a good starting point for other tests. +Modify tests/src/CMakefiles.txt to add the test to the build environment. + +### Contribution guidelines ### + +Features (ie functions, classes, types) defined in hip*.h should resemble CUDA APIs. +The HIP interface is designed to be very familiar for CUDA programmers. + +Differences or limitations of HIP APIs as compared to CUDA APIs should be clearly documented and described. + + +#### Presubmit Testing: +Before checking in or submitting a pull request, run all Rodinia tests and ensure pass results match starting point: + +```shell + > cd examples/ + > ./run_all.sh +``` + +Recent results : + +``` +hip2/examples/rodinia_3.0/hip$ make test +--TESTING: b+tree +executing: ../../test/b+tree/run0.cmd... PASSED! +--TESTING: backprop +executing: ../../test/backprop/run0.cmd... PASSED! +--TESTING: bfs +executing: ../../test/bfs/run0.cmd... PASSED! +executing: ../../test/bfs/run1.cmd... PASSED! +--TESTING: cfd +executing: ../../test/cfd/run0.cmd... PASSED! +executing: ../../test/cfd/run1.cmd... PASSED! +--TESTING: gaussian +executing: ../../test/gaussian/run0.cmd... PASSED! +--TESTING: heartwall +executing: ../../test/heartwall/run0.cmd... PASSED! +--TESTING: hotspot +executing: ../../test/hotspot/run0.cmd... PASSED! +--TESTING: kmeans +executing: ../../test/kmeans/run0.cmd... PASSED! +executing: ../../test/kmeans/run1.cmd... PASSED! +executing: ../../test/kmeans/run2.cmd... PASSED! +executing: ../../test/kmeans/run3.cmd... PASSED! +--TESTING: lavaMD +executing: ../../test/lavaMD/run0.cmd... PASSED! +executing: ../../test/lavaMD/run1.cmd... PASSED! +executing: ../../test/lavaMD/run2.cmd... PASSED! +executing: ../../test/lavaMD/run3.cmd... PASSED! +executing: ../../test/lavaMD/run4.cmd... PASSED! +--TESTING: lud +executing: ../../test/lud/run0.cmd... PASSED! +--TESTING: myocyte +executing: ../../test/myocyte/run0.cmd... PASSED! +--TESTING: nn +executing: ../../test/nn/run0.cmd... PASSED! +--TESTING: nw +executing: ../../test/nw/run0.cmd... PASSED! +--TESTING: particlefilter +executing: ../../test/particlefilter/run0.cmd... *** Error in `./particlefilter_naive': free(): invalid next size (fast): 0x0000000001ad89d0 *** + FAILED! +executing: ../../test/particlefilter/run1.cmd... *** Error in `./particlefilter_float': free(): invalid next size (fast): 0x0000000001a7e890 *** + FAILED! +--TESTING: pathfinder +executing: ../../test/pathfinder/run0.cmd... PASSED! +--TESTING: srad +executing: ../../test/srad/run0.cmd... PASSED! +--TESTING: streamcluster +executing: ../../test/streamcluster/run0.cmd... PASSED! +``` + +## Doxygen Editing Guidelines + +- bugs should be marked with @bugs near the code where the bug might be fixed. The @bug message will appear in the API description and also in the +doxygen bug list. + +## Other Tips: +### Markdown Editing +Recommended to use an offline Markown viewer to review documentation, such as Markdown Preview Plus extension in Chrome browser, or Remarkable. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..586fbd5a39 --- /dev/null +++ b/LICENSE @@ -0,0 +1,23 @@ +/* +Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..6542b03acd --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +#must also be specified in doxygen-input/doxy.cfg, + +HIP_PATH ?= . +HIPCC = $(HIP_PATH)/bin/hipcc +HSA_PATH ?= /opt/hsa + + +HIP_SOURCES = $(HIP_PATH)/src/hip_hcc.cpp +HIP_OBJECTS = $(HIP_SOURCES:.cpp=.o) + +$(HIP_OBJECTS): HIPCC_FLAGS += -I$(HSA_PATH)/include + +$(HIP_OBJECTS): + +%.o:: %.cpp + $(HIPCC) $(HIPCC_FLAGS) $< -c -o $@ + + +clean: + rm -f $(HIP_OBJECTS) + + diff --git a/README.md b/README.md index 0e38b45796..2361c75a12 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,82 @@ -# HIP -HIP : Convert CUDA to Portable C++ Code +## What is this repository for? ### + +HIP allows developers to convert CUDA code to portable C++. The same source code can be compiled to run on NVIDIA or AMD GPUs. +Key features include: + +* HIP is very thin and has little or no performance impact over coding directly in CUDA or HCC "HC" mode. +* HIP allows coding in a single-source C++ programming language including features such as templates, C++11 lambdas, classes, namespaces, and more. +* HIP allows developers to use the "best" development environment and tools on each target platform. +* The "hipify" script automatically converts source from CUDA to HIP. +* Developers can specialize for the platform (CUDA or HCC) to tune for performance or handle tricky cases + +HIP is intended to support new developments in a portable C++ language that can run on either NVIDIA or AMD platforms. Additionally, HIP provides porting tools which make it easy to port existing CUDA codes to the portable HIP layer, with no loss of performance as compared to the original CUDA application. HIP is not intended to be a drop-in replacement for CUDA, and developers should expect to do some manual coding and performance tuning work to complete the port. + +## More Info: +- [HIP FAQ](docs/markdown/hip_faq.md) +- [HIP Kernel Language](docs/markdown/hip_kernel_language.md) +- [HIP Runtime API (Doxygen)](docs/RuntimeAPI/html/group__API.html) +- [HIP Porting Guide](docs/markdown/hip_porting_guide.md) +- [HIP Terminology](docs/markdown/hip_terms.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/HC/AMP/OpenL) + + +## How do I get set up? + +### Prerequisites - Choose Your Platform +HIP code can be developed either on AMD HSA or Boltzmann platform using HCC compiler, or a CUDA platform with NVCC installed: + +#### AMD (HCC): + +* Install HCC including supporting HSA kernel and runtime driver stack (https://bitbucket.org/multicoreware/hcc/wiki/Home). +* By default HIP looks for HCC in /opt/hcc (can be overridden by setting HCC_HOME environment variable) +* By default HIP looks for HSA in /opt/hsa (can be overridden by setting HSA_PATH environment variable) + +#### NVIDIA (NVCC) +* Install CUDA SDK from manufacturer website. +* By default HIP looks for CUDA SDK in /usr/local/cuda (can be overriden by setting CUDA_PATH env variable) + +### Add HIP/bin to your path. +For example, if this repot is clones to ~/HIP, and you are running bash: +``` +> export PATH=$PATH:~/HIP/bin +``` +Verify we can find hipconfig (one of the hip tools in bin dir): +``` +> hipconfig -pn +/home/me/HIP +``` + +## Examples and Getting Started: + +* A sample that uses hipify to convert from CUDA to HIP: + +```shell +> cd samples/01_Intro/square +# follow README / blog steps to hipify the application. +``` + +* A sample written directly in HIP, showing platform specialization: +```shell +> cd samples/01_Intro/bit_extract +> make +``` + +* Guide to [Porting a New Cuda Project](docs/markdown/hip_porting_guide.md#porting-a-new-cuda-project" aria-hidden="true">\n"; + } else { + # input files and libraries + if (($arg =~ /.cpp$/) or ($arg =~ /.c$/) or ($arg =~ /.cc$/) ) { + $hasC = 1; + $needCXXFLAGS = 1; + } + if (($arg =~ /.cu$/) or ($arg =~ /.cuh$/)) { + $hasCU = 1; + $needCXXFLAGS = 1; + } + + if (($arg =~ /hip_hcc.o$/) or ($arg =~ /hip_hcc.cpp/)) { + $needHipHcc = 0; + } + + push (@inputs, $arg); + #print "I: <$arg>\n"; + } +} + +if ($hasC and $HIP_PLATFORM eq 'nvcc') { + $HIPCXXFLAGS .= " -x cu"; +} +if ($hasCU and $HIP_PLATFORM eq 'hcc') { + $HIPCXXFLAGS .= " -x c++"; +} + +if (($verbose & 0x18) and ($HIP_PLATFORM eq 'hcc')) { + $needHipHcc = 1; +} + +if ($needHipHcc) { + # See if we need to remake the .o file: + my $source = "$HIP_PATH/src/hip_hcc.cpp" ; + my $object = "$HIP_PATH/src/hip_hcc.o" ; + + # remake if object does not exist, or if source is newer than object: + if ((not -e $object) or ((stat($source))[9] > (stat($object))[9])) { + my $CMD = "$HCC $HCCFLAGS -I$HSA_PATH/include -I$HIP_PATH/include -Wall -c $source -o $object"; + if ($verbose & 0x10) { + $CMD .= " -g" ; + } else { + $CMD .= " -O3" ; + } + + if ($verbose & 0x1) { + print "remake-deps:", $CMD, "\n"; + } + system ("$CMD") and die ("remake-deps failed"); + + + } + + $HIPLDFLAGS .= " $HIP_PATH/src/hip_hcc.o" ; +} + +# hipcc currrently requires separate compilation of source files, ie it is not possible to pass +# CPP files combined with .O files +# Reason is that NVCC uses the file extension to determine whether to compile in CUDA mode or +# pass-through CPP mode. + + +$args = join(" ", @ARGV); + +my $CMD="$HIPCC"; +if ($needCXXFLAGS) { + $CMD .= " $HIPCXXFLAGS"; +} +if ($needLDFLAGS and not $compileOnly) { + $CMD .= " $HIPLDFLAGS"; +} +$CMD .= " $args"; + +if ($verbose & 0x1) { + print "hipcc-cmd: ", $CMD, "\n"; +} + +system ("$CMD") and die (); diff --git a/bin/hipconfig b/bin/hipconfig new file mode 100755 index 0000000000..5d982111ed --- /dev/null +++ b/bin/hipconfig @@ -0,0 +1,76 @@ +#!/usr/bin/perl -w +use Getopt::Long; +use Cwd; + +# Return name of HIP compiler - either 'nvcc' or 'hcc' +# +use Getopt::Long; +use File::Basename; + +Getopt::Long::Configure ( qw{bundling no_ignore_case}); +GetOptions( + "help|h" => \$p_help + ,"path|p" => \$p_path + ,"compiler|c" => \$p_compiler + ,"platform|P" => \$p_platform + ,"cpp_config|cxx_config|C" => \$p_cpp_config + ,"newline|n" => \$p_newline +); + +if ($p_help) { + print "usage: which_hip [OPTIONS]\n"; + print " --path, -p : print HIP_PATH (use env var if set, else determine from hipconfig path)\n"; + print " --cpp_config, -C : print C++ compiler options\n"; + print " --compiler, -c : print compiler (hcc or nvcc)\n"; + print " --platform, -P : print platform (hcc or nvcc)\n"; + print " --newline, -n : print newline\n"; + print " --help, -h : print help message\n"; + exit(); +} + + +$CUDA_PATH=$ENV{'CUDA_PATH'}; +$CUDA_PATH='/usr/local/cuda' unless defined $CUDA_PATH; + +$HCC_HOME=$ENV{'HCC_HOME'}; +$HCC_HOME='/opt/hcc' unless defined $HCC_HOME; + +#--- +#HIP_PLATFORM controls whether to use NVCC or HCC for compilation: +$HIP_PLATFORM=$ENV{'HIP_PLATFORM'}; +if (not defined $HIP_PLATFORM and (-e "$CUDA_PATH/bin/nvcc")) { + $HIP_PLATFORM="nvcc"; +} +$HIP_PLATFORM="hcc" unless defined $HIP_PLATFORM; + +$HIP_PATH=$ENV{'HIP_PATH'}; +$HIP_PATH=Cwd::realpath (dirname (dirname $0)) unless defined $HIP_PATH; # use parent directory of this tool + + + +$printed = 0; +if ($p_path) { + print "$HIP_PATH"; + $printed = 1; +} + + +if ($p_cpp_config) { + if ($HIP_PLATFORM eq "hcc") { + print " -D__HIP_PLATFORM_HCC__= -I$HIP_PATH/include -I$HCC_HOME/include"; + } + if ($HIP_PLATFORM eq "nvcc") { + print " -D__HIP_PLATFORM_NVCC__= -I$HIP_PATH/include -I$CUDA_PATH/include"; + }; + $printed = 1; +} + + + +if (!$printed or $p_compiler or $p_platform) { + print $HIP_PLATFORM; +} + +if ($p_newline) { + print "\n"; +} diff --git a/bin/hipconvertinplace.sh b/bin/hipconvertinplace.sh new file mode 100755 index 0000000000..8381687853 --- /dev/null +++ b/bin/hipconvertinplace.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +#usage : hipconvertinplace.sh [DIRNAME] [HIPIFY_OPTIONS] + +#hipify "inplace" all code files in specified directory. +# This can be quite handy when dealing with an existing CUDA code base since the script +# preseeves the existing directory structure. + +# For each code file, this script will: +# - If ".prehip file does not exist, copy the original code to a new file withextension ".prehip". Then Hipify the code file. +# - If ".prehip" file exists, this is used as input to hipify. +# (this is useful for testing improvements to the hipify toolset). + + +SCRIPT_DIR=`dirname $0` +SEARCH_DIR=$1 +shift +$SCRIPT_DIR/hipify -inplace -print-stats "$@" `$SCRIPT_DIR/findcode.sh $SEARCH_DIR` diff --git a/bin/hipexamine.sh b/bin/hipexamine.sh new file mode 100755 index 0000000000..40c1bf466d --- /dev/null +++ b/bin/hipexamine.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +#usage : hipexamine.sh DIRNAME [hipify.pl options] + +# Generate HIP stats (LOC, CUDA->API conversions, missing functionality) for all the code files +# in the specified directory. + + +SCRIPT_DIR=`dirname $0` +SEARCH_DIR=$1 +shift +$SCRIPT_DIR/hipify -no-output -print-stats "$@" `$SCRIPT_DIR/findcode.sh $SEARCH_DIR` diff --git a/bin/hipify b/bin/hipify new file mode 100755 index 0000000000..5cab931998 --- /dev/null +++ b/bin/hipify @@ -0,0 +1,661 @@ +#!/usr/bin/perl -w +## +# Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +## +#usage hipify [OPTIONS] INPUT_FILE +use Getopt::Long; + +my $warn_whitelist =""; +GetOptions( + "print-stats" => \$print_stats # print the command-line, like a header. + , "count-conversions" => \$count_conversions # count conversions. + , "quiet-warnings" => \$quiet_warnings # don't print warnings on unknown CUDA functions. + , "warn-whitelist=s"=> \$warn_whitelist + , "no-translate-builtins" => \$no_translate_builtins # don't translate math functions. + , "no-translate-textures" => \$no_translate_textures + , "no-output" => \$no_output # don't write any translated output to stdout. + , "inplace" => \$inplace # modify input file inplace, replacing input with hipified output, save backup in ".prehip" file. + # If .prehip file exists, use that as input to hip. + , "n" => \$n # combination of print_stats + no-output. +); + +$print_stats = 1 if $n; +$no_output = 1 if $n; + +# These uses of cuda[A-Z] are commonly used in CUDA code but don't actually map to any CUDA API: +# TODO - use a hash lookup for these. +@warn_whitelist = ( + "cudaError" + ,"cudaStatus" + ,"cudaDevice" + ,"cudaDevice_t" + + ,"cudaIDs" + ,"cudaGridDim" + ,"cudaDimGrid" + ,"cudaDimBlock" + ,"cudaDeviceId" + ,"cudaDevices", + + ,"cudaGradOutput", + ,"cudaInput", + ,"cudaOutput", + ,"cudaGradInput", + ,"cudaIndices", + + ,"cudaColorSpinorField" + ,"cudaGaugeField" + ,"cudaMom" + ,"cudaGauge" + ,"cudaInGauge" + ,"cudaGaugeField" + ,"cudaColorSpinorField" + ,"cudaSiteLink" + ,"cudaFatLink" + ,"cudaStaple" + ,"cudaCloverField" + ,"cudaFatLink" + ,"cudaParam" + ); +#print "WW=@warn_whitelist\n"; + + +# Allow users to add their own functions. +push (@warn_whitelist, split(',',$warn_whitelist)); + + +#--- +#Stats tracking code: +@statNames = ("dev", "mem", "kern", 'coord_func', "math_func", "special_func", "stream", "event", "err", "def", "tex", "other"); + + +#--- +#Compute total of all individual counts: +sub totalStats +{ + my %count = %{ shift() }; + + my $total = 0; + foreach $key (keys %count) { + $total += $count{$key}; + } + + return $total; +}; + +#--- +sub printStats +{ + my $label = shift(); + my @statNames = @{ shift() }; + my %counts = %{ shift() }; + my $warnings = shift(); + my $loc = shift(); + + my $total = totalStats(\%counts); + + printf STDERR "%s %d CUDA->HIP refs( ", $label, $total; + + foreach $stat (@statNames) { + printf STDERR "%s:%d ", $stat, $counts{$stat}; + } + + printf STDERR ") warn:%d LOC:%d", $warnings, $loc; +} + + +#--- +# Add adder stats to dest. Used to add stats for current file to a running total for all files: +sub addStats +{ + my $dest_ref = shift() ; + my %adder = %{ shift() }; + + foreach $key (keys %adder) { + $dest_ref->{$key} += $adder{$key}; + #printf ("D{$key} += %d => %d\n", $adder{$key}, $dest{$key}); + } +} + + +#--- +sub clearStats +{ + my $dest_ref = shift() ; + my @statNames = @{ shift() }; + + foreach $stat (@statNames) { + $dest_ref->{$stat} = 0; + } +} + + + + +# count of transforms in all files: +my %tt; +clearStats(\%tt, \@statNames); + + + +$Twarnings = 0; +$TlineCount = 0; +my %TwarningTags ; +my %Tkernels ; + +my $fileCount = @ARGV; +my $fileName = ""; + +while (@ARGV) { + $fileName=shift (@ARGV); + + + if ($inplace) { + my $file_prehip = "$fileName" . ".prehip"; + my $infile; + my $outfile; + if (-e $file_prehip) { + $infile = $file_prehip; + $outfile = $fileName; + } else { + system ("cp $fileName $file_prehip"); + $infile = $file_prehip; + $outfile = $fileName; + } + + open(INFILE,"<", $infile) or die "error: could not open $infile"; + open(OUTFILE,">", $outfile) or die "error: could not open $outfile"; + $OUTFILE = OUTFILE; + + } else { + open(INFILE,"<", $fileName) or die "error: could not open $fileName"; + $OUTFILE = STDOUT; + } + + + + + + # Note : \b is used in perl to indicate the start of a word - typically that is what we want in this case: + # + + # count of transforms in this file, init to 0 here: + my %ft; + clearStats(\%ft, \@statNames); + my $countIncludes = 0; + my $countKeywords = 0; # keywords like __global__, __shared__ - not converted by hipify but counted here. + my $warnings = 0; + my $warningsCublas = 0; + my $warningsCurand = 0; + my %warningTags; # hash with counts of particular unknown keywords. + + my $lineCount = 0; + + undef $/; # Read whole file at once, so we can match newlines. + while () + { + + #-------- + # Compiler Defines + # __CUDACC__ is set by NVCC to indicate it is treating the input file as CUDA code (as opposed to host) + # Typically we want any code treated as CUDA code to be treated as accelerator code by Kalmar too + # __HIPCC__ will set KALMARCC + $ft{'def'} += s/\b__CUDACC__\b/__HIPCC__/g; + + # __CUDA_ARCH is often used to detect when a function or kernel is being compiled for the device. + # Don't automaticall convert this - likely these will need special attention with HIP_ARCH_HAS_* macros + #$ft{'def'} += s/\b__CUDA_ARCH__\b/__HIP_ARCH__/g; + + + + #-------- + #Includes: + $countIncludes += s/(\s*#\s*include\s+)[<"]cuda_runtime\.h[>"]/$1/; + $countIncludes += s/(\s*#\s*include\s+)[<"]cuda_runtime_api\.h[>"]/$1/; + + + #-------- + # Error codes and return types: + $ft{'err'} += s/\bcudaError_t\b/hipError_t/g; + $ft{'err'} += s/\bcudaError\b/hipError_t/g; + $ft{'err'} += s/\bcudaSuccess\b/hipSuccess/g; + + $ft{'err'} += s/\bcudaErrorUnknown\b/hipErrorUnknown/g; + $ft{'err'} += s/\bcudaErrorMemoryAllocation\b/hipErrorMemoryAllocation/g; + $ft{'err'} += s/\bcudaErrorMemoryFree\b/hipErrorMemoryFree/g; + $ft{'err'} += s/\bcudaErrorUnknownSymbol\b/hipErrorUnknownSymbol/g; + $ft{'err'} += s/\bcudaErrorOutOfResources\b/hipErrorOutOfResources/g; + $ft{'err'} += s/\bcudaErrorInvalidValue\b/hipErrorInvalidValue/g; + $ft{'err'} += s/\bcudaErrorInvalidResourceHandle\b/hipErrorInvalidResourceHandle/g; + $ft{'err'} += s/\bcudaErrorInvalidDevice\b/hipErrorInvalidDevice/g; + $ft{'err'} += s/\bcudaErrorNoDevice\b/hipErrorNoDevice/g; + $ft{'err'} += s/\bcudaErrorNotReady\b/hipErrorNotReady/g; + $ft{'err'} += s/\bcudaErrorUnknown\b/hipErrorUnknown/g; + + # error APIs: + $ft{'err'} += s/\bcudaGetLastError\b/hipGetLastError/g; + $ft{'err'} += s/\bcudaPeekAtLastError\b/hipPeekAtLastError/g; + $ft{'err'} += s/\bcudaGetErrorName\b/hipGetErrorName/g; + $ft{'err'} += s/\bcudaGetErrorString\b/hipGetErrorString/g; + + + + #-------- + # Memcpy + $ft{'mem'} += s/\bcudaMemcpy\b/hipMemcpy/g; + $ft{'mem'} += s/\bcudaMemcpyHostToHost\b/hipMemcpyHostToHost/g; + $ft{'mem'} += s/\bcudaMemcpyHostToDevice\b/hipMemcpyHostToDevice/g; + $ft{'mem'} += s/\bcudaMemcpyDeviceToHost\b/hipMemcpyDeviceToHost/g; + $ft{'mem'} += s/\bcudaMemcpyDeviceToDevice\b/hipMemcpyDeviceToDevice/g; + $ft{'mem'} += s/\bcudaMemcpyDefault\b/hipMemcpyDefault/g; + $ft{'mem'} += s/\bcudaMemcpyToSymbol\b/hipMemcpyToSymbol/g; + + $ft{'mem'} += s/\bcudaMemset\b/hipMemset/g; + $ft{'mem'} += s/\bcudaMemsetAsync\b/hipMemsetAsync/g; + + $ft{'mem'} += s/\bcudaMemcpyAsync\b/hipMemcpyAsync/g; + + $ft{'mem'} += s/\bcudaMemGetInfo\b/hipMemGetInfo/g; + + $ft{'mem'} += s/\bcudaMemcpyKind\b/hipMemcpyKind/g; + + + #-------- + # Memory management: + $ft{'mem'} += s/\bcudaMalloc\b/hipMalloc/g; + $ft{'mem'} += s/\bcudaMallocHost\b/hipMallocHost/g; + $ft{'mem'} += s/\bcudaFree\b/hipFree/g; + $ft{'mem'} += s/\bcudaFreeHost\b/hipFreeHost/g; + + + + #-------- + # Coordinate Indexing and Dimensions: + $ft{'coord_func'} += s/\bthreadIdx\.x\b/hipThreadIdx_x/g; + $ft{'coord_func'} += s/\bthreadIdx\.y\b/hipThreadIdx_y/g; + $ft{'coord_func'} += s/\bthreadIdx\.z\b/hipThreadIdx_z/g; + + $ft{'coord_func'} += s/\bblockIdx\.x\b/hipBlockIdx_x/g; + $ft{'coord_func'} += s/\bblockIdx\.y\b/hipBlockIdx_y/g; + $ft{'coord_func'} += s/\bblockIdx\.z\b/hipBlockIdx_z/g; + + $ft{'coord_func'} += s/\bblockDim\.x\b/hipBlockDim_x/g; + $ft{'coord_func'} += s/\bblockDim\.y\b/hipBlockDim_y/g; + $ft{'coord_func'} += s/\bblockDim\.z\b/hipBlockDim_z/g; + + $ft{'coord_func'} += s/\bgridDim\.x\b/hipGridDim_x/g; + $ft{'coord_func'} += s/\bgridDim\.y\b/hipGridDim_y/g; + $ft{'coord_func'} += s/\bgridDim\.z\b/hipGridDim_z/g; + + # hack to avoid replacing hipDeviceProp.warpSize call + $ft{'special_func'} += s/([^.])\bwarpSize\b/$1hipWarpSize/g; + + + #-------- + # Events + $ft{'event'} += s/\bcudaEvent_t\b/hipEvent_t/g; + $ft{'event'} += s/\bcudaEventCreate\b/hipEventCreate/g; + $ft{'event'} += s/\bcudaEventCreateWithFlags\b/hipEventCreateWithFlags/g; + $ft{'event'} += s/\bcudaEventDestroy\b/hipEventDestroy/g; + $ft{'event'} += s/\bcudaEventRecord\b/hipEventRecord/g; + $ft{'event'} += s/\bcudaEventElapsedTime\b/hipEventElapsedTime/g; + $ft{'event'} += s/\bcudaEventSynchronize\b/hipEventSynchronize/g; + + #-------- + # Streams + $ft{'stream'} += s/\bcudaStream_t\b/hipStream_t/g; + $ft{'stream'} += s/\bcudaStreamCreate\b/hipStreamCreate/g; + $ft{'stream'} += s/\bcudaStreamCreateWithFlags\b/hipStreamCreateWithFlags/g; + $ft{'stream'} += s/\bcudaStreamDestroy\b/hipStreamDestroy/g; + $ft{'stream'} += s/\bcudaStreamWaitEvent\b/hipStreamWaitEven/g; + $ft{'stream'} += s/\bcudaStreamSynchronize\b/hipStreamSynchronize/g; + $ft{'stream'} += s/\bcudaStreamDefault\b/hipStreamDefault/g; + $ft{'stream'} += s/\bcudaStreamNonBlocking\b/hipStreamNonBlocking/g; + + + #-------- + # Other synchronization + $ft{'dev'} += s/\bcudaDeviceSynchronize\b/hipDeviceSynchronize/g; + $ft{'dev'} += s/\bcudaThreadSynchronize\b/hipDeviceSynchronize/g; # translate deprecated cudaThreadSynchronize + $ft{'dev'} += s/\bcudaDeviceReset\b/hipDeviceReset/g; + $ft{'dev'} += s/\bcudaThreadExit\b/hipDeviceReset/g; # translate deprecated cudaThreadExit + $ft{'dev'} += s/\bcudaSetDevice\b/hipSetDevice/g; + $ft{'dev'} += s/\bcudaGetDevice\b/hipGetDevice/g; + + #-------- + # Device + $ft{'dev'} += s/\bcudaDeviceProp\b/hipDeviceProp_t/g; + $ft{'dev'} += s/\bcudaGetDeviceProperties\b/hipDeviceGetProperties/g; + + # Cache config + $ft{'dev'} += s/\bcudaDeviceSetCacheConfig\b/hipDeviceSetCacheConfig/g; + $ft{'dev'} += s/\bcudaThreadSetCacheConfig\b/hipDeviceSetCacheConfig/g; # translate deprecated + $ft{'dev'} += s/\bcudaDeviceGetCacheConfig\b/hipDeviceGetCacheConfig/g; + $ft{'dev'} += s/\bcudaThreadGetCacheConfig\b/hipDeviceGetCacheConfig/g; # translate deprecated + $ft{'dev'} += s/\bcudaFuncCache\b/hipFuncCache/g; + $ft{'dev'} += s/\bcudaFuncCachePreferNone\b/hipFuncCachePreferNone/g; + $ft{'dev'} += s/\bcudaFuncCachePreferShared\b/hipFuncCachePreferShared/g; + $ft{'dev'} += s/\bcudaFuncCachePreferL1\b/hipFuncCachePreferL1/g; + $ft{'dev'} += s/\bcudaFuncCachePreferEqual\b/hipFuncCachePreferEqual/g; + # function + $ft{'dev'} += s/\bcudaFuncSetCacheConfig\b/hipFuncSetCacheConfig/g; + + + $ft{'dev'} += s/\bcudaDriverGetVersion\b/hipDriverGetVersion/g; + + #-------- + # Peer2Peer + $ft{'dev'} += s/\bcudaDeviceCanAccessPeer\b/hipDeviceCanAccessPeer/g; + $ft{'dev'} += s/\bcudaDeviceDisablePeerAccess\b/hipDeviceDisablePeerAccess/g; + $ft{'dev'} += s/\bcudaDeviceEnablePeerAccess\b/hipDeviceEnablePeerAccess/g; + $ft{'mem'} += s/\bcudaMemcpyPeerAsync\b/hipMemcpyPeerAsync/g; + $ft{'mem'} += s/\bcudaMemcpyPeer\b/hipMemcpyPeer/g; + + + # Shared mem: + $ft{'dev'} += s/\bcudaDeviceSetSharedMemConfig\b/hipDeviceSetSharedMemConfig/g; + $ft{'dev'} += s/\bcudaThreadSetSharedMemConfig\b/hipDeviceSetSharedMemConfig/g; # translate deprecated + $ft{'dev'} += s/\bcudaDeviceGetSharedMemConfig\b/hipDeviceGetSharedMemConfig/g; + $ft{'dev'} += s/\bcudaThreadGetSharedMemConfig\b/hipDeviceGetSharedMemConfig/g; # translate deprecated + $ft{'dev'} += s/\bcudaSharedMemConfig\b/hipSharedMemConfig/g; + $ft{'dev'} += s/\bcudaSharedMemBankSizeDefault\b/hipSharedMemBankSizeDefault/g; + $ft{'dev'} += s/\bcudaSharedMemBankSizeFourByte\b/hipSharedMemBankSizeFourByte/g; + $ft{'dev'} += s/\bcudaSharedMemBankSizeEightByte\b/hipSharedMemBankSizeEightByte/g; + + $ft{'dev'} += s/\bcudaGetDeviceCount\b/hipGetDeviceCount/g; + + #-------- + # Profiler + #$aOt += s/\bcudaProfilerInitialize\b/hipProfilerInitialize/g; // see if these are called anywhere. + $ft{'other'} += s/\bcudaProfilerStart\b/hipProfilerStart/g; + $ft{'other'} += s/\bcudaProfilerStop\b/hipProfilerStop/g; + + + + $countKeywords += m/__global__/; + $countKeywords += m/__shared__/; + + #-------- + # CUDA Launch Syntax + # Note these only work if launch is on a single line. + + # Handle the <>> syntax: + { + # match uses ? for <.*> which will be unitialized if this is not present in launch syntax. + no warnings qw/uninitialized/; + + my $k = 0; + my $kernelName; + + # Handle the <>> syntax: + $k += s/(\w+)\s*(<.*>)?\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>([\s*\\]*)\(/hipLaunchKernel(HIP_KERNEL_NAME($1$2), dim3($3), dim3($4), $5, $6, /g; + $kernelName = $1 if $k; + + # Handle the <>> syntax: + $k += s/(\w+)\s*(<.*>)?\s*<<<\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*>>>([\s*\\]*)\(/hipLaunchKernel(HIP_KERNEL_NAME($1$2), dim3($3), dim3($4), $5, 0, /g; + $kernelName = $1 if $k; + + # Handle the <>> syntax: + $k += s/(\w+)\s*(<.*>)?\s*<<<\s*(.+)\s*,\s*(.+)\s*>>>([\s\\]*)\(/hipLaunchKernel(HIP_KERNEL_NAME($1$2), dim3($3), dim3($4), 0, 0, /g; + $kernelName = $1 if $k; + + $ft{'kern'} += $k; + if ($k) { + $Tkernels{$kernelName} ++; + } + } + + + + unless ($no_translate_textures) { + $ft{'tex'} += s/\bcudaChannelFormatDesc\b/hipChannelFormatDesc/g; + $ft{'tex'} += s/\bcudaFilterModePoint\b/hipFilterModePoint/g; + $ft{'tex'} += s/\bcudaReadModeElementType\b/hipReadModeElementType/g; + + $ft{'tex'} += s/\bcudaCreateChannelDesc\b/hipCreateChannelDesc/g; + $ft{'tex'} += s/\bcudaBindTexture\b/hipBindTexture/g; + $ft{'tex'} += s/\bcudaUnbindTexture\b/hipUnbindTexture/g; + } + + + if ($count_conversions) { + while (/(\bhip[A-Z]\w+\b)/g) { + $convertedTags{$1}++; + + #print STDERR "HIP: $1 : ", $translateTags{$1}, "\n"; + } + } + + + # guess that we are in device code , or at least in a file that calls device code. + # will almost certainly call one of the coordiante functions - could be fooled by clever macros but usually works: + my $hasDeviceCode = $countKeywords + $ft{'coord_func'} + $ft{'math_func'} + $ft{'special_func'}; + + + + unless ($quiet_warnings) { + #print STDERR "Check WARNINGs\n"; + # copy into array of lines, process line-by-line to show warnings: + if ($hasDeviceCode or (/\bcuda/) or (/<<<.*>>>/) or (/(\bcublas[A-Z]\w+)/) or (/(\bcurand[A-Z]\w+)/) ) { + my @lines = split /\n/, $_; + my $tmp = $_; # copies the whole file, could be a little smarter here... + my $line_num = 0; + + foreach (@lines) { + + $line_num ++; + + # remove any whitelisted words: + foreach $w (@warn_whitelist) { + s/\b$w\b/ZAP/ + } + + my $tag ; + if ((/(\bcuda[A-Z]\w+)/) or (/<<<.*>>>/)) { + # flag any remaining code that look like cuda API calls, may want to add these to hipify + $tag = (defined $1) ? $1 : "Launch"; + } elsif (/(\bcublas[A-Z]\w+)/) { + $warningsCublas++; + $tag = $1; + } elsif (/(\bcurand[A-Z]\w+)/) { + $warningsCurand++; + $tag = $1; + } + + if (defined $tag) { + $warnings++; + $warningTags{$tag}++; + print STDERR " warning: $fileName:#$line_num : $_"; + print STDERR "\n"; + } + + $s = warnUnsupportedSpecialFunctions($line_num); + $warnings += $s; + + + } + + $_ = $tmp; + } + } + + + + + #-------- + # Math libraries + # To limit bogus translations, try to make sure we are in a kernel (ft{'builtin'} != 0): + if (not $no_translate_builtins and ($hasDeviceCode > 0)) { + $ft{'special_func'} += countSupportedSpecialFunctions(); + } + + + + + #-------- + # Print it! + # TODO - would like to move this code outside loop but it uses $_ which contains the whole file. + unless ($no_output) { + my $apiCalls = $ft{'err'} + $ft{'event'} + $ft{'mem'} + $ft{'stream'} + $ft{'dev'} + $ft{'def'} + $ft{'tex'} + $ft{'other'} + $ft{'math_func'}; + my $kernStuff = $hasDeviceCode + $ft{'kern'}; + my $totalCalls = $apiCalls + $kernStuff; + + $is_dos = m/\r\n$/; + + if ($totalCalls and ($countIncludes == 0) and ($kernStuff != 0)) { + # If this file makes kernel builtin calls, and does not include the cuda_runtime.h, + # then add an #include to match "magic" includes provided by NVCC. + # This logic can miss cases where cuda_runtime.h is included by another include file. + print $OUTFILE '#include "hip_runtime.h"' . ($is_dos ? "\r\n" : "\n"); + } + print $OUTFILE "$_"; + } + + $lineCount = $_ =~ tr/\n//; + + } + + my $totalConverted = totalStats(\%ft); + + #printf "TOTAL-CONV=%d\n", $totalConverted; + + + if (($totalConverted+$warnings) and $print_stats) { + printStats("info: converted", \@statNames, \%ft, $warnings, $lineCount); + print STDERR " in '$fileName'\n"; + } + + + # Update totals for all files: + addStats(\%tt, \%ft); + $Twarnings += $warnings; + $TlineCount += $lineCount; + foreach $key (keys %warningTags) { + $TwarningTags{$key} += $warningTags{$key}; + } +} + +#-- Print total stats for all files processed: +if ($print_stats and ($fileCount > 1)) { + print STDERR "\n"; + printStats("info: TOTAL-converted", \@statNames, \%tt, $Twarnings, $TlineCount); + print STDERR "\n"; + + foreach my $key (sort { $TwarningTags{$b} <=> $TwarningTags{$a} } keys %TwarningTags) { + printf STDERR " warning: unconverted %s : %d\n", $key, $TwarningTags{$key}; + } + + my $kernelCnt = keys %Tkernels; + printf STDERR " kernels (%d total) : ", $kernelCnt; + foreach my $key (sort { $Tkernels{$b} <=> $Tkernels{$a} } keys %Tkernels) { + printf STDERR " %s(%d)", $key, $Tkernels{$key}; + } + print STDERR "\n"; + + + print STDERR "\n"; +} + +if ($count_conversions) { + foreach my $key (sort { $convertedTags{$b} <=> $convertedTags{$a} } keys %convertedTags) { + printf STDERR " %s %d\n", $key, $convertedTags{$key}; + } +} + + + + +sub countSupportedSpecialFunctions +{ + my $m = 0; + + #supported special functions: + foreach $func ( + # Synchronization: + "__syncthreads", + ) + { + # match math at the beginning of a word, but not if it already has a namespace qualifier ('::') : + $m += m/[:]?[:]?\b($func)\b(\w*\()/g; + + } + + return $m; +} + +sub warnUnsupportedSpecialFunctions +{ + my $line_num = shift; + + my $m = 0; + + + + foreach $func ( + # memory fence: + "__threadfence_block", + "__threadfence", + "__threadfence_system", + + # Synchronization: + "__syncthreads_count", + "__syncthreads_and", + "__syncthreads_or", + + # Read-only cache function: + "__ldg", + + # Cross-lane and warp-vote instructions: + "__all", + "__any", + "__ballot", + + "__popc", + "__clz", + + "__shfl", + "__shfl_up", + "__shfl_down", + "__shfl_xor", + + "__prof_trigger", + + # too popular, and we can't tell if we are in device or host code. + #"assert", + #"printf", + + #"malloc", + #"free", + #"memset", + #"memcpy" + ) + { + # match math at the beginning of a word, but not if it already has a namespace qualifier ('::') : + my $mt = m/[:]?[:]?\b($func)\b(\w*\()/g; + if ($mt) { + $m += $mt; + print STDERR " warning: $fileName:#$line_num : unsupported device function : $_\n"; + } + + } + + return $m; +} diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt new file mode 100644 index 0000000000..ff5728db4f --- /dev/null +++ b/cmake/CMakeLists.txt @@ -0,0 +1,12 @@ + + +#Our FindHCC is in the same directory as the this CMakeLists.txt, which is CMAKE_SOURCE_DIR +# Let cmake know where to find FindHCC.cmake +# + +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}) + +find_package(HIP REQUIRED) + +message(STATUS "HIP_PLATFORM = ${HIP_PLATFORM}") + diff --git a/cmake/FindHCC.cmake b/cmake/FindHCC.cmake new file mode 100644 index 0000000000..b277778b64 --- /dev/null +++ b/cmake/FindHCC.cmake @@ -0,0 +1,73 @@ + +# findHCC does not currently address versioning, i.e. +# a rich directory structure where version number is a subdirectory under root +# Also, supported only on UNIX 64 bit systems. + +if(UNIX) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + + find_library(HSA_LIBRARY + NAMES hsa-runtime64 + PATHS + ENV HSA_PATH + /opt/hsa + PATH_SUFFIXES + lib) + + if( NOT DEFINED ENV{HSA_PATH} ) + set( ENV{HSA_PATH} /opt/hsa) + endif() + + find_program(HCC + NAMES hcc + PATHS + ENV HCC_PATH + /opt/hcc + PATH_SUFFIXES + /bin) + + if( NOT DEFINED ENV{HCC_PATH} ) + set( ENV{HCC_PATH} /opt/hcc) + endif() + +# this is now dynamic +# find_library(AMP_LIBRARY +# NAMES mcwamp +# PATHS +# ENV NCC_PATH +# /opt/hcc +# PATH_SUFFIXES +# /lib) + + find_path(HCC_INCLUDE_DIR + NAMES + hc.hpp + PATHS + ENV NCC_PATH + /opt/hcc + PATH_SUFFIXES + /include) + + + + set(HSA_LIBRARIES ${HSA_LIBRARY}) + #set(HCC_LIBRARIES ${AMP_LIBRARY}) + set(HCC_INCLUDE_DIRS ${HCC_INCLUDE_DIR}) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args( + HCC + FOUND_VAR HCC_FOUND + REQUIRED_VARS HSA_LIBRARIES HCC_INCLUDE_DIRS HCC) + + mark_as_advanced( + HSA_LIBRARIES + HCC_INCLUDE_DIRS + ) + + else() + message(SEND_ERROR "HCC is currently supported only on 64 bit UNIX platforms") + endif() +else() + message(SEND_ERROR "HCC is currently supported on unix platforms") +endif() \ No newline at end of file diff --git a/cmake/FindHIP.cmake b/cmake/FindHIP.cmake new file mode 100644 index 0000000000..c0e3ac5d6f --- /dev/null +++ b/cmake/FindHIP.cmake @@ -0,0 +1,56 @@ + +find_package(CUDA) + +if( CUDA_INCLUDE_DIRS AND CUDA_VERSION AND CUDA_NVCC_EXECUTABLE) + message(STATUS "CUDA_VERSION = ${CUDA_VERSION}") + message(STATUS "CUDA_INCLUDE_DIRS = ${CUDA_INCLUDE_DIRS}") + message(STATUS "CUDA_NVCC_EXECUTABLE = ${CUDA_NVCC_EXECUTABLE}") + + set( HIP_PLATFORM "nvcc" ) + + #export the environment variable, so that HIPCC can find it. + set(ENV{HIP_PLATFORM} nvcc) + +else() + find_package(HCC) + + message(STATUS "HCC_FOUND = ${HCC_FOUND}") + message(STATUS "HCC = ${HCC}") + message(STATUS "HCC_INCLUDE_DIRS = ${HCC_INCLUDE_DIRS}") + message(STATUS "HSA_LIBRARIES = ${HSA_LIBRARIES}") + + if( ${HCC_FOUND} STREQUAL "TRUE" ) + + # This directory is hip/cmake! HIP_PATH should be one directory up! + set (HIP_PATH $ENV{HIP_PATH}) + if (NOT DEFINED HIP_PATH) + set (HIP_PATH ${CMAKE_CURRENT_SOURCE_DIR}/..) + set( ENV{HIP_PATH} ${HIP_PATH}) + endif() + + message(STATUS "ENV HIP_PATH = $ENV{HIP_PATH}") + + find_program(HIPCC + NAMES hipcc + PATHS + ENV HIP_PATH + PATH_SUFFIXES + /bin) + + message(STATUS "HIPCC = ${HIPCC}") + + if( DEFINED HIPCC) + + set( HIP_PLATFORM "hcc" ) + #export the environment variable, so that HIPCC can find it. + set(ENV{HIP_PLATFORM} "hcc") + set (CMAKE_CXX_COMPILER ${HIPCC}) + + else() + message(SEND_ERROR "Did not find HIPCC") + endif() + else() + message(SEND_ERROR "hcc not found") + endif() + +endif() diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000..acac8c7695 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,5 @@ +HIP_PATH ?= .. +DOXYGEN_SRC=$(wildcard $(HIP_PATH)/include/hcc_detail/*.h) $(wildcard $(HIP_PATH)/include/*.h) $(HIP_PATH)/src/hip_hcc.cpp $(wildcard doxygen-input/*) + +doc: $(DOXYGEN_SRC) + doxygen doxygen-input/doxy.cfg diff --git a/docs/RuntimeAPI/html/Synchonization.html b/docs/RuntimeAPI/html/Synchonization.html new file mode 100644 index 0000000000..c21879b667 --- /dev/null +++ b/docs/RuntimeAPI/html/Synchonization.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: $title + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + +
+ +
+ +
+
+

Host-synchronous behavior:

+

The following commands are "host-asynchronous" - meaning they do not wait for any preceding commands to complete, and may return control to the host thread before the requested operation completes:

+
    +
  • Kernel launches (hipLaunchKernel() )
  • +
  • Asynchronous memory copies - any memory copy API which contains "Async", such as hipMemcpyAsync())
  • +
  • Any memory set (for example, hipMemset());
  • +
  • TODO
  • +
+

"Host-synchronous" commands have the following properties:

+
    +
  • wait for all previous commands to complete.
  • +
  • will not return control back to host until the command completes.
  • +
+

The following commands are "host-synchronous".

+
    +
  • hipMemcpy waits for preceding work in the same stream to complete.
  • +
+

Stream synchronization

+

Blocking

+

The term "blocking" has two meanings in HIP.

+

The first refers to synchronization commands (ie hipStreamSynchronize, hipEventSynchronize) that cause the host CPU to wait for GPU activity to complete. These can either use an active where the host CPU spin-waits on the synchronization variable, or can use an interrupt-based scheme where the core is interrupted when the wait completes. The second technique is referred to as "blocking" (ie hipDeviceBlockingSync, hipEventBlockingSync) while the first is referred to as "active". Active can be appropriate for short tasks where latency is critical, but comes at the expense of a CPU core dedicated to monitoring the event.

+

HIP_LAUNCH_BLOCKING (also can use CUDA_LAUNCH_BLOCKING)

+
    +
  • The following commands become host-synchronous and will not return until the requested command has completed:
      +
    • Kernel launches (hipKernelLaunch).
    • +
    • Memory set commands (hipMemset, hipMemsetAsync).
    • +
    • Memory copy commands (hipMemcpy, hipMemsetAsync).
    • +
    +
  • +
+

Note CUDA_LAUNCH_BLOCKING does add any pre-serialization to the commands and does not affect the concurrent stream behavior. For example, even when CUDA_LAUNCH_BLOCKING is set, kernels or data copy commands launched to separate streams can execute concurrently. Use the NULL stream if additional stream synchronization is desired.

+
+ + + + diff --git a/docs/RuntimeAPI/html/annotated.html b/docs/RuntimeAPI/html/annotated.html new file mode 100644 index 0000000000..49ef4eac76 --- /dev/null +++ b/docs/RuntimeAPI/html/annotated.html @@ -0,0 +1,112 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Class List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
+ + + + diff --git a/docs/RuntimeAPI/html/bc_s.png b/docs/RuntimeAPI/html/bc_s.png new file mode 100644 index 0000000000..224b29aa98 Binary files /dev/null and b/docs/RuntimeAPI/html/bc_s.png differ diff --git a/docs/RuntimeAPI/html/bdwn.png b/docs/RuntimeAPI/html/bdwn.png new file mode 100644 index 0000000000..940a0b9504 Binary files /dev/null and b/docs/RuntimeAPI/html/bdwn.png differ diff --git a/docs/RuntimeAPI/html/bug.html b/docs/RuntimeAPI/html/bug.html new file mode 100644 index 0000000000..bdc31de0f8 --- /dev/null +++ b/docs/RuntimeAPI/html/bug.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Bug List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + +
+ +
+ +
+
+
+
Bug List
+
+
+
+
Member hipDeviceGetProperties (hipDeviceProp_t *prop, int device)
+

HCC always returns 0 for maxThreadsPerMultiProcessor

+

HCC always returns 0 for regsPerBlock

+

HCC always returns 0 for l2CacheSize

+
+
Member hipDeviceReset (void)
+
On HCC, hipDeviceReset is a nop and does not reset the device state.
+
Member hipMemcpyPeerAsync (void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream=0)
+
This function uses a synchronous copy
+
Member hipStreamWaitEvent (hipStream_t stream, hipEvent_t event, unsigned int flags)
+
This function conservatively waits for all work in the specified stream to complete.
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/classes.html b/docs/RuntimeAPI/html/classes.html new file mode 100644 index 0000000000..6bd01f36c7 --- /dev/null +++ b/docs/RuntimeAPI/html/classes.html @@ -0,0 +1,113 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Class Index + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Class Index
+
+
+
D | H | I | T
+ + + + + + + + +
  d  
+
hipDeviceArch_t   ihipEvent_t   textureReference   
hipDeviceProp_t   ihipStream_t   
dim3   hipEvent_t   
  t  
+
  h  
+
  i  
+
texture   
hipChannelFormatDesc   ihipDevice_t   
+
D | H | I | T
+
+ + + + diff --git a/docs/RuntimeAPI/html/closed.png b/docs/RuntimeAPI/html/closed.png new file mode 100644 index 0000000000..98cc2c909d Binary files /dev/null and b/docs/RuntimeAPI/html/closed.png differ diff --git a/docs/RuntimeAPI/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/RuntimeAPI/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000000..fd08fac040 --- /dev/null +++ b/docs/RuntimeAPI/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,100 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/src Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
src Directory Reference
+
+
+ + + + +

+Files

file  hip_hcc.cpp
 
+
+ + + + diff --git a/docs/RuntimeAPI/html/dir_6d8604cb65fa6b83549668eb0ce09cac.html b/docs/RuntimeAPI/html/dir_6d8604cb65fa6b83549668eb0ce09cac.html new file mode 100644 index 0000000000..7d2d877c9b --- /dev/null +++ b/docs/RuntimeAPI/html/dir_6d8604cb65fa6b83549668eb0ce09cac.html @@ -0,0 +1,108 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hcc_detail Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
hcc_detail Directory Reference
+
+
+ + + + + + + + + + + + +

+Files

file  hip_runtime.h [code]
 
file  hip_runtime_api.h [code]
 
file  hip_texture.h [code]
 
file  hip_vector_types.h [code]
 
file  host_defines.h [code]
 
+
+ + + + diff --git a/docs/RuntimeAPI/html/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/RuntimeAPI/html/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000000..1de6328c9c --- /dev/null +++ b/docs/RuntimeAPI/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + + + +

+Directories

directory  hcc_detail
 
+ + + + + + + + + +

+Files

file  hip_common.h [code]
 
file  hip_runtime.h [code]
 
file  hip_runtime_api.h [code]
 
file  hip_vector_types.h [code]
 
+
+ + + + diff --git a/docs/RuntimeAPI/html/doxygen.css b/docs/RuntimeAPI/html/doxygen.css new file mode 100644 index 0000000000..f0f36f89f5 --- /dev/null +++ b/docs/RuntimeAPI/html/doxygen.css @@ -0,0 +1,1366 @@ +/* The standard CSS for doxygen 1.8.6 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/docs/RuntimeAPI/html/doxygen.png b/docs/RuntimeAPI/html/doxygen.png new file mode 100644 index 0000000000..3ff17d807f Binary files /dev/null and b/docs/RuntimeAPI/html/doxygen.png differ diff --git a/docs/RuntimeAPI/html/dynsections.js b/docs/RuntimeAPI/html/dynsections.js new file mode 100644 index 0000000000..ed092c7f63 --- /dev/null +++ b/docs/RuntimeAPI/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +HIP: Heterogenous-computing Interface for Portability: File List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + +
o-include
|o-hcc_detail
||o*hip_runtime.h
||o*hip_runtime_api.h
||o*hip_texture.h
||o*hip_vector_types.h
||\*host_defines.h
|o*hip_common.h
|o*hip_runtime.h
|o*hip_runtime_api.h
|\*hip_vector_types.h
\-src
 \*hip_hcc.cpp
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/ftv2blank.png b/docs/RuntimeAPI/html/ftv2blank.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2blank.png differ diff --git a/docs/RuntimeAPI/html/ftv2cl.png b/docs/RuntimeAPI/html/ftv2cl.png new file mode 100644 index 0000000000..132f6577bf Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2cl.png differ diff --git a/docs/RuntimeAPI/html/ftv2doc.png b/docs/RuntimeAPI/html/ftv2doc.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2doc.png differ diff --git a/docs/RuntimeAPI/html/ftv2folderclosed.png b/docs/RuntimeAPI/html/ftv2folderclosed.png new file mode 100644 index 0000000000..bb8ab35edc Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2folderclosed.png differ diff --git a/docs/RuntimeAPI/html/ftv2folderopen.png b/docs/RuntimeAPI/html/ftv2folderopen.png new file mode 100644 index 0000000000..d6c7f676a3 Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2folderopen.png differ diff --git a/docs/RuntimeAPI/html/ftv2lastnode.png b/docs/RuntimeAPI/html/ftv2lastnode.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2lastnode.png differ diff --git a/docs/RuntimeAPI/html/ftv2link.png b/docs/RuntimeAPI/html/ftv2link.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2link.png differ diff --git a/docs/RuntimeAPI/html/ftv2mlastnode.png b/docs/RuntimeAPI/html/ftv2mlastnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2mlastnode.png differ diff --git a/docs/RuntimeAPI/html/ftv2mnode.png b/docs/RuntimeAPI/html/ftv2mnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2mnode.png differ diff --git a/docs/RuntimeAPI/html/ftv2mo.png b/docs/RuntimeAPI/html/ftv2mo.png new file mode 100644 index 0000000000..4bfb80f76e Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2mo.png differ diff --git a/docs/RuntimeAPI/html/ftv2node.png b/docs/RuntimeAPI/html/ftv2node.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2node.png differ diff --git a/docs/RuntimeAPI/html/ftv2ns.png b/docs/RuntimeAPI/html/ftv2ns.png new file mode 100644 index 0000000000..72e3d71c28 Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2ns.png differ diff --git a/docs/RuntimeAPI/html/ftv2plastnode.png b/docs/RuntimeAPI/html/ftv2plastnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2plastnode.png differ diff --git a/docs/RuntimeAPI/html/ftv2pnode.png b/docs/RuntimeAPI/html/ftv2pnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2pnode.png differ diff --git a/docs/RuntimeAPI/html/ftv2splitbar.png b/docs/RuntimeAPI/html/ftv2splitbar.png new file mode 100644 index 0000000000..fe895f2c58 Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2splitbar.png differ diff --git a/docs/RuntimeAPI/html/ftv2vertline.png b/docs/RuntimeAPI/html/ftv2vertline.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/docs/RuntimeAPI/html/ftv2vertline.png differ diff --git a/docs/RuntimeAPI/html/functions.html b/docs/RuntimeAPI/html/functions.html new file mode 100644 index 0000000000..5f2b3f24eb --- /dev/null +++ b/docs/RuntimeAPI/html/functions.html @@ -0,0 +1,283 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Class Members + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+ + +

- c -

+ + +

- h -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- x -

+ + +

- y -

+ + +

- z -

+
+ + + + diff --git a/docs/RuntimeAPI/html/functions_vars.html b/docs/RuntimeAPI/html/functions_vars.html new file mode 100644 index 0000000000..d3740b0b60 --- /dev/null +++ b/docs/RuntimeAPI/html/functions_vars.html @@ -0,0 +1,283 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Class Members - Variables + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- h -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- x -

+ + +

- y -

+ + +

- z -

+
+ + + + diff --git a/docs/RuntimeAPI/html/globals.html b/docs/RuntimeAPI/html/globals.html new file mode 100644 index 0000000000..a895473945 --- /dev/null +++ b/docs/RuntimeAPI/html/globals.html @@ -0,0 +1,238 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: File Members + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all documented file members with links to the documentation:
+ +

- h -

+
+ + + + diff --git a/docs/RuntimeAPI/html/globals_defs.html b/docs/RuntimeAPI/html/globals_defs.html new file mode 100644 index 0000000000..35a768bc8c --- /dev/null +++ b/docs/RuntimeAPI/html/globals_defs.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: File Members + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/docs/RuntimeAPI/html/globals_func.html b/docs/RuntimeAPI/html/globals_func.html new file mode 100644 index 0000000000..dff1f0b16e --- /dev/null +++ b/docs/RuntimeAPI/html/globals_func.html @@ -0,0 +1,223 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: File Members + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/docs/RuntimeAPI/html/globals_vars.html b/docs/RuntimeAPI/html/globals_vars.html new file mode 100644 index 0000000000..8117f6041c --- /dev/null +++ b/docs/RuntimeAPI/html/globals_vars.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: File Members + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__API.html b/docs/RuntimeAPI/html/group__API.html new file mode 100644 index 0000000000..ad2ed4ea23 --- /dev/null +++ b/docs/RuntimeAPI/html/group__API.html @@ -0,0 +1,118 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: HIP API + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
HIP API
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Modules

 Device Management
 
 Error Handling
 
 Stream Management
 
 Event Management
 
 Memory Management
 
 Device Memory Access
 
 Management
 
 Control
 
 HCC-Specific Accessors
 
 Texture Reference Management
 
+

Detailed Description

+

Defines the HIP API. See the individual sections for more information.

+
+ + + + diff --git a/docs/RuntimeAPI/html/group__Device.html b/docs/RuntimeAPI/html/group__Device.html new file mode 100644 index 0000000000..c5b4996e69 --- /dev/null +++ b/docs/RuntimeAPI/html/group__Device.html @@ -0,0 +1,405 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Device Management + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Device Management
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

hipError_t hipDeviceSynchronize (void)
 Blocks until the default device has completed all preceding requested tasks. More...
 
hipError_t hipDeviceReset (void)
 Destroy all resources and reset all state on the default device in the current process. More...
 
hipError_t hipSetDevice (int device)
 Set default device to be used for subsequent hip API calls from this thread. More...
 
hipError_t hipGetDevice (int *device)
 Return the default device id for the calling host thread. More...
 
hipError_t hipGetDeviceCount (int *count)
 Return number of compute-capable devices. More...
 
hipError_t hipDeviceGetProperties (hipDeviceProp_t *prop, int device)
 Returns device properties. More...
 
hipError_t hipDeviceSetCacheConfig (hipFuncCache cacheConfig)
 Set L1/Shared cache partition. More...
 
hipError_t hipDeviceGetCacheConfig (hipFuncCache *cacheConfig)
 Set Cache configuration for a specific function. More...
 
hipError_t hipFuncSetCacheConfig (hipFuncCache config)
 Set Cache configuration for a specific function. More...
 
hipError_t hipDeviceGetSharedMemConfig (hipSharedMemConfig *pConfig)
 Get Shared memory bank configuration. More...
 
hipError_t hipDeviceSetSharedMemConfig (hipSharedMemConfig config)
 Set Shared memory bank configuration. More...
 
+

Detailed Description

+

----------------------------------------------------------------------------------------------—

+

Function Documentation

+ +
+
+ + + + + + + + +
hipError_t hipDeviceGetCacheConfig (hipFuncCachecacheConfig)
+
+ +

Set Cache configuration for a specific function.

+

Note: AMD devices and recent NVIDIA GPUS do not support reconfigurable cache. This hint is ignored on those architectures.

+
Returns
hipSuccess
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipDeviceGetProperties (hipDeviceProp_tprops,
int device 
)
+
+ +

Returns device properties.

+
Parameters
+ + + +
[out]propwritten with device properties
[in]devicewhich device to query for information
+
+
+

Populates hipDeviceGetProperties with information for the specified device.

+
Returns
hipSuccess, hipErrorInvalidDevice
+
Bug:

HCC always returns 0 for maxThreadsPerMultiProcessor

+

HCC always returns 0 for regsPerBlock

+

HCC always returns 0 for l2CacheSize

+
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipDeviceGetSharedMemConfig (hipSharedMemConfigpConfig)
+
+ +

Get Shared memory bank configuration.

+

Note: AMD devices and recent NVIDIA GPUS do not support shared cache banking, and the hint is ignored on those architectures.

+
Returns
hipSuccess
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipDeviceReset (void )
+
+ +

Destroy all resources and reset all state on the default device in the current process.

+

Explicity destroy all memory allocations, events, and queues associated with the default device in the current process.

+

This function will reset the device immmediately, and then return after all resources have been freed. The caller must ensure that the device is not being accessed by any other host threads from the active process when this function is called.

+
See Also
hipDeviceSynchronize
+
Returns
hipSuccess
+
Bug:
On HCC, hipDeviceReset is a nop and does not reset the device state.
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipDeviceSetCacheConfig (hipFuncCache cacheConfig)
+
+ +

Set L1/Shared cache partition.

+

Note: AMD devices and recent NVIDIA GPUS do not support reconfigurable cache. This hint is ignored on those architectures.

+
Returns
hipSuccess
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipDeviceSetSharedMemConfig (hipSharedMemConfig config)
+
+ +

Set Shared memory bank configuration.

+

Note: AMD devices and recent NVIDIA GPUS do not support shared cache banking, and the hint is ignored on those architectures.

+
Returns
hipSuccess
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipDeviceSynchronize (void )
+
+ +

Blocks until the default device has completed all preceding requested tasks.

+

This function waits for all streams on the default device to complete execution, and then returns.

+
See Also
hipSetDevice, hipDeviceReset
+
Returns
hipSuccess
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipFuncSetCacheConfig (hipFuncCache cacheConfig)
+
+ +

Set Cache configuration for a specific function.

+

Note: AMD devices and recent NVIDIA GPUS do not support reconfigurable cache. This hint is ignored on those architectures.

+
Returns
hipSuccess
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipGetDevice (int * device)
+
+ +

Return the default device id for the calling host thread.

+
Parameters
+ + +
[out]device*device is written with the default device
+
+
+

HIP maintains an default device for each thread using thread-local-storage. This device is used implicitly for HIP runtime APIs called by this thread. hipGetDevice returns in * device the default device for the calling host thread.

+
See Also
hipSetDevice, hipGetDevicesizeBytes
+
Returns
hipSuccess
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipGetDeviceCount (int * count)
+
+ +

Return number of compute-capable devices.

+
Parameters
+ + +
[output]count Returns number of compute-capable devices.
+
+
+

Returns in *count the number of devices that have ability to run compute commands. If there are no such devices, then hipGetDeviceCount will return hipErrorNoDevice. If 1 or more devices can be found, then hipGetDeviceCount returns hipSuccess.

+
Returns
hipSuccess, hipErrorNoDevice
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipSetDevice (int device)
+
+ +

Set default device to be used for subsequent hip API calls from this thread.

+
Parameters
+ + +
[in]deviceValid device in range 0...hipGetDeviceCount().
+
+
+

Sets device as the default device for the calling host thread. Valid device id's are 0... (hipGetDeviceCount()-1).

+

Many HIP APIs implicitly use the "default device" :

+
    +
  • Any device memory subsequently allocated from this host thread (using hipMalloc) will be allocated on device.
  • +
  • Any streams or events created from this host thread will be associated with device.
  • +
  • Any kernels launched from this host thread (using hipLaunchKernel) will be executed on device (unless a specific stream is specified, in which case the device associated with that stream will be used).
  • +
+

This function may be called from any host thread. Multiple host threads may use the same device. This function does no synchronization with the previous or new device, and has very little runtime overhead. Applications can use hipSetDevice to quickly switch the default device before making a HIP runtime call which uses the default device.

+

The default device is stored in thread-local-storage for each thread. Thread-pool implementations may inherit the default device of the previous thread. A good practice is to always call hipSetDevice at the start of HIP coding sequency to establish a known standard device.

+
See Also
hipGetDevice, hipGetDeviceCount
+
Returns
hipSuccess, hipErrorInvalidDevice
+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__Enumerations.html b/docs/RuntimeAPI/html/group__Enumerations.html new file mode 100644 index 0000000000..9813d08bc5 --- /dev/null +++ b/docs/RuntimeAPI/html/group__Enumerations.html @@ -0,0 +1,173 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Global enumeration types + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Global enumeration types
+
+
+ + + + +

+Typedefs

+typedef enum hipError_t hipError_t
 
+ + + +

+Enumerations

enum  hipError_t {
+  hipSuccess = 0, +hipErrorMemoryAllocation, +hipErrorMemoryFree, +hipErrorUnknownSymbol, +
+  hipErrorOutOfResources, +hipErrorInvalidValue, +hipErrorInvalidResourceHandle, +hipErrorInvalidDevice, +
+  hipErrorNoDevice, +hipErrorNotReady, +hipErrorUnknown, +hipErrorTbd +
+ }
 
+

Detailed Description

+

Enumeration Type Documentation

+ +
+
+ + + + +
enum hipError_t
+
+ + + + + + + + + + + + + +
Enumerator
hipSuccess  +

No error.

+
hipErrorMemoryAllocation  +

Memory allocation error.

+
hipErrorMemoryFree  +

Memory free error.

+
hipErrorUnknownSymbol  +

Unknown symbol.

+
hipErrorOutOfResources  +

Out of resources error.

+
hipErrorInvalidValue  +

One or more of the paramters passed to the API call is NULL or not in an acceptable range.

+
hipErrorInvalidResourceHandle  +

Resource handle (hipEvent_t or hipStream_t) invalid.

+
hipErrorInvalidDevice  +

DeviceID must be in range 0...#compute-devices.

+
hipErrorNoDevice  +

Call to cudaGetDeviceCount returned 0 devices.

+
hipErrorNotReady  +

indicates that asynchronous operations enqueued earlier are not ready. This is not actually an error, but is used to distinguish from hipSuccess (which indicates completion). APIs that return this error include hipEventQuery and hipStreamQuery.

+
hipErrorUnknown  +

Unknown error.

+
hipErrorTbd  +

Marker that more error codes are needed.

+
+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__Error.html b/docs/RuntimeAPI/html/group__Error.html new file mode 100644 index 0000000000..cea57daed9 --- /dev/null +++ b/docs/RuntimeAPI/html/group__Error.html @@ -0,0 +1,205 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Error Handling + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Error Handling
+
+
+ + + + + + + + + + + + + + +

+Functions

hipError_t hipGetLastError (void)
 Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess. More...
 
hipError_t hipPeekAtLastError (void)
 Return last error returned by any HIP runtime API call. More...
 
const char * hipGetErrorName (hipError_t hip_error)
 Return name of the specified error code in text form. More...
 
const char * hipGetErrorString (hipError_t hip_error)
 Return handy text string message to explain the error which occurred. More...
 
+

Detailed Description

+

----------------------------------------------------------------------------------------------—

+

Function Documentation

+ +
+
+ + + + + + + + +
const char* hipGetErrorName (hipError_t hip_error)
+
+ +

Return name of the specified error code in text form.

+
Parameters
+ + +
hip_errorError code to convert to name.
+
+
+
Returns
const char pointer to the NULL-terminated error name
+
See Also
hipGetErrorString, hipGetLastError, hipPeakAtLastError, hipError_t
+ +
+
+ +
+
+ + + + + + + + +
const char* hipGetErrorString (hipError_t hip_error)
+
+ +

Return handy text string message to explain the error which occurred.

+
Parameters
+ + +
hip_errorError code to convert to string.
+
+
+
Returns
const char pointer to the NULL-terminated error string
+
Warning
: on HCC, this function returns the name of the error (same as hipGetErrorName)
+
See Also
hipGetErrorName, hipGetLastError, hipPeakAtLastError, hipError_t
+
Warning
: hipGetErrorString returns string from hipGetErrorName
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipGetLastError (void )
+
+ +

Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess.

+

Returns the last error that has been returned by any of the runtime calls in the same host thread, and then resets the saved error to hipSuccess.

+
Returns
return code from last HIP called from the active host thread.
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipPeekAtLastError (void )
+
+ +

Return last error returned by any HIP runtime API call.

+
Returns
hipSuccess
+

Returns the last error that has been returned by any of the runtime calls in the same host thread. Unlike hipGetLastError, this function does not reset the saved error code.

+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__Event.html b/docs/RuntimeAPI/html/group__Event.html new file mode 100644 index 0000000000..07c053b451 --- /dev/null +++ b/docs/RuntimeAPI/html/group__Event.html @@ -0,0 +1,323 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Event Management + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Event Management
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Functions

hipError_t hipEventCreateWithFlags (hipEvent_t *event, unsigned flags)
 Create an event with the specified flags. More...
 
hipError_t hipEventRecord (hipEvent_t event, hipStream_t stream=NULL)
 Record an event in the specified stream. More...
 
hipError_t hipEventDestroy (hipEvent_t event)
 Destroy the specified event. More...
 
hipError_t hipEventSynchronize (hipEvent_t event)
 : Wait for an event to complete. More...
 
hipError_t hipEventElapsedTime (float *ms, hipEvent_t start, hipEvent_t stop)
 Return the elapsed time between two events. More...
 
hipError_t hipEventQuery (hipEvent_t event)
 Query event status. More...
 
+

Detailed Description

+

----------------------------------------------------------------------------------------------—

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipEventCreateWithFlags (hipEvent_tevent,
unsigned flags 
)
+
+ +

Create an event with the specified flags.

+
Parameters
+ + + +
[in,out]eventReturns the newly created event.
[in]flagsFlags to control event behavior. hipEventDefault, hipEventBlockingSync, hipEventDisableTiming, hipEventInterprocess
+
+
+
Warning
On HCC platform, hipEventInterprocess is not supported.
+
Returns
#cudaSuccess
+
Warning
: flags must be 0.
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipEventDestroy (hipEvent_t event)
+
+ +

Destroy the specified event.

+
Parameters
+ + +
[in]eventEvent to destroy.
+
+
+
Returns
: hipSuccess,
+

Releases memory associated with the event. If the event is recording but has not completed recording when hipEventDestroy is called, the function will return immediately and the completion_future resources will be released later, when the hipDevice is synchronized.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
hipError_t hipEventElapsedTime (float * ms,
hipEvent_t start,
hipEvent_t stop 
)
+
+ +

Return the elapsed time between two events.

+
Parameters
+ + + + +
[out]ms : Return time between start and stop in ms.
[in]start: Start event.
[in]stop: Stop event.
+
+
+
Returns
: hipSuccess, hipErrorInvalidResourceHandle, hipErrorNotReady,
+

Computes the elapsed time between two events. Time is computed in ms, with a resolution of approximately 1 us.

+

Events which are recorded in a NULL stream will block until all commands on all other streams complete execution, and then record the timestamp.

+

Events which are recorded in a non-NULL stream will record their timestamp when they reach the head of the specified stream, after all previous commands in that stream have completed executing. Thus the time that the event recorded may be significantly after the host calls hipEventRecord.

+

If hipEventRecord has not been called on either event, then hipErrorInvalidResourceHandle is returned. If hipEventRecord has been called on both events, but the timestamp has not yet been recorded on one or both events (that is, hipEventQuery would return hipErrorNotReady on at least one of the events), then hipErrorNotReady is returned.

+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipEventQuery (hipEvent_t event)
+
+ +

Query event status.

+
Parameters
+ + +
[in]eventEvent to query.
+
+
+
Returns
hipSuccess, hipEventNotReady
+

Query the status of the specified event. This function will return hipErrorNotReady if all commands in the appropriate stream (specified to hipEventRecord) have completed. If that work has not completed, or if hipEventRecord was not called on the event, then cudaSuccess is returned.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipEventRecord (hipEvent_t event,
hipStream_t stream = NULL 
)
+
+ +

Record an event in the specified stream.

+
Parameters
+ + + +
[in]eventevent to record.
[in]streamstream in which to record event.
+
+
+
Returns
hipSuccess, hipErrorInvalidResourceHandle
+

hipEventQuery or hipEventSynchronize must be used to determine when the event transitions from "recording" (after eventRecord is called) to "recorded" (when timestamps are set, if requested).

+

Events which are recorded in a non-NULL stream will transition to from recording to "recorded" state when they reach the head of the specified stream, after all previous commands in that stream have completed executing.

+

If hipEventRecord has been previously called aon event, then this call will overwrite any existing state in event.

+

If this function is called on a an event that is currently being recorded, results are undefined - either outstanding recording may save state into the event, and the order is not guaranteed. This shoul be avoided.

+
See Also
hipEventElapsedTime
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipEventSynchronize (hipEvent_t event)
+
+ +

: Wait for an event to complete.

+

This function will block until the event is ready, waiting for all previous work in the stream specified when event was recorded with hipEventRecord.

+

If hipEventRecord has not been called on event, this function returns immediately.

+

TODO-hcc - This function needs to support hipEventBlockingSync parameter.

+
Parameters
+ + +
[in]eventEvent on which to wait.
+
+
+
Returns
hipSuccess, hipErrorInvalidResourceHandle,
+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__GlobalDefs.html b/docs/RuntimeAPI/html/group__GlobalDefs.html new file mode 100644 index 0000000000..7ec1058aed --- /dev/null +++ b/docs/RuntimeAPI/html/group__GlobalDefs.html @@ -0,0 +1,398 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Global enum and defines + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Global enum and defines
+
+
+ + + + +

+Classes

struct  dim3
 
+ + + + + + + + + + + + + + + + + + + +

+Macros

#define hipStreamDefault   0x00
 Flags that can be used with hipStreamCreateWithFlags. More...
 
+#define hipStreamNonBlocking   0x01
 Stream does not implicitly synchronize with null stream.
 
#define hipEventDefault   0x0
 Flags that can be used with hipEventCreateWithFlags: More...
 
+#define hipEventBlockingSync   0x1
 Waiting will yield CPU. Power-friendly and usage-friendly but may increase latency.
 
+#define hipEventDisableTiming   0x2
 Disable event's capability to record timing information. May improve performance.
 
#define hipEventInterprocess   0x4
 Event can support IPC. More...
 
+ + + + + + + + + +

+Typedefs

+typedef enum hipError_t hipError_t
 
typedef enum hipFuncCache hipFuncCache
 
typedef enum hipSharedMemConfig hipSharedMemConfig
 
typedef struct dim3 dim3
 
+ + + + + + + + + +

+Enumerations

enum  hipError_t {
+  hipSuccess = 0, +hipErrorMemoryAllocation, +hipErrorMemoryFree, +hipErrorUnknownSymbol, +
+  hipErrorOutOfResources, +hipErrorInvalidValue, +hipErrorInvalidResourceHandle, +hipErrorInvalidDevice, +
+  hipErrorNoDevice, +hipErrorNotReady, +hipErrorUnknown, +hipErrorTbd +
+ }
 
enum  hipFuncCache { hipFuncCachePreferNone, +hipFuncCachePreferShared, +hipFuncCachePreferL1, +hipFuncCachePreferEqual + }
 
enum  hipSharedMemConfig { hipSharedMemBankSizeDefault, +hipSharedMemBankSizeFourByte, +hipSharedMemBankSizeEightByte + }
 
enum  hipMemcpyKind {
+  hipMemcpyHostToHost = 0, +hipMemcpyHostToDevice = 1, +hipMemcpyDeviceToHost = 2, +hipMemcpyDeviceToDevice =3, +
+  hipMemcpyDefault = 4 +
+ }
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define hipEventDefault   0x0
+
+ +

Flags that can be used with hipEventCreateWithFlags:

+

Default flags

+ +
+
+ +
+
+ + + + +
#define hipEventInterprocess   0x4
+
+ +

Event can support IPC.

+
Warning
- not supported in HIP.
+ +
+
+ +
+
+ + + + +
#define hipStreamDefault   0x00
+
+ +

Flags that can be used with hipStreamCreateWithFlags.

+

Default stream creation flags. These are used with hipStreamCreate().

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct dim3 dim3
+
+

Struct for data in 3D

+ +
+
+ +
+
+ + + + +
typedef enum hipFuncCache hipFuncCache
+
+
Warning
On AMD devices and recent NVIDIA devices, these hints and controls are ignored.
+ +
+
+ +
+
+ + + + +
typedef enum hipSharedMemConfig hipSharedMemConfig
+
+
Warning
On AMD devices and recent NVIDIA devices, these hints and controls are ignored.
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum hipError_t
+
+ + + + + + + + + + + + + +
Enumerator
hipSuccess  +

Successful completion.

+
hipErrorMemoryAllocation  +

Memory allocation error.

+
hipErrorMemoryFree  +

Memory free error.

+
hipErrorUnknownSymbol  +

Unknown symbol.

+
hipErrorOutOfResources  +

Out of resources error.

+
hipErrorInvalidValue  +

One or more of the paramters passed to the API call is NULL or not in an acceptable range.

+
hipErrorInvalidResourceHandle  +

Resource handle (hipEvent_t or hipStream_t) invalid.

+
hipErrorInvalidDevice  +

DeviceID must be in range 0...#compute-devices.

+
hipErrorNoDevice  +

Call to cudaGetDeviceCount returned 0 devices.

+
hipErrorNotReady  +

indicates that asynchronous operations enqueued earlier are not ready. This is not actually an error, but is used to distinguish from hipSuccess (which indicates completion). APIs that return this error include hipEventQuery and hipStreamQuery.

+
hipErrorUnknown  +

Unknown error.

+
hipErrorTbd  +

Marker that more error codes are needed.

+
+ +
+
+ +
+
+ + + + +
enum hipFuncCache
+
+
Warning
On AMD devices and recent NVIDIA devices, these hints and controls are ignored.
+ + + + + +
Enumerator
hipFuncCachePreferNone  +

no preference for shared memory or L1 (default)

+
hipFuncCachePreferShared  +

prefer larger shared memory and smaller L1 cache

+
hipFuncCachePreferL1  +

prefer larger L1 cache and smaller shared memory

+
hipFuncCachePreferEqual  +

prefer equal size L1 cache and shared memory

+
+ +
+
+ +
+
+ + + + +
enum hipMemcpyKind
+
+

Memory copy types

+ + + + + + +
Enumerator
hipMemcpyHostToHost  +

Host-to-Host Copy.

+
hipMemcpyHostToDevice  +

Host-to-Device Copy.

+
hipMemcpyDeviceToHost  +

Device-to-Host Copy.

+
hipMemcpyDeviceToDevice  +

Device-to-Device Copy.

+
hipMemcpyDefault  +

Runtime will automatically determine copy-kind based on virtual addresses.

+
+ +
+
+ +
+
+ + + + +
enum hipSharedMemConfig
+
+
Warning
On AMD devices and recent NVIDIA devices, these hints and controls are ignored.
+ + + + +
Enumerator
hipSharedMemBankSizeDefault  +

The compiler selects a device-specific value for the banking.

+
hipSharedMemBankSizeFourByte  +

Shared mem is banked at 4-bytes intervals and performs best when adjacent threads access data 4 bytes apart.

+
hipSharedMemBankSizeEightByte  +

Shared mem is banked at 8-byte intervals and performs best when adjacent threads access data 4 bytes apart.

+
+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__HCC-Specific.html b/docs/RuntimeAPI/html/group__HCC-Specific.html new file mode 100644 index 0000000000..df8399d027 --- /dev/null +++ b/docs/RuntimeAPI/html/group__HCC-Specific.html @@ -0,0 +1,96 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Accessors + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Accessors
+
+
+

----------------------------------------------------------------------------------------------—

+

The following calls are only supported when compiler HIP with HCC. To produce portable code, use of these calls must be guarded #ifdef checks:

+
#ifdef __HCC__
+
hc::accelerator acc;
+
hipError_t err = hipHccGetAccelerator(deviceId, &acc)
+
#endif
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__HCC__Specific.html b/docs/RuntimeAPI/html/group__HCC__Specific.html new file mode 100644 index 0000000000..dda77995f2 --- /dev/null +++ b/docs/RuntimeAPI/html/group__HCC__Specific.html @@ -0,0 +1,168 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: HCC-Specific Accessors + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
HCC-Specific Accessors
+
+
+ + + + + + + + +

+Functions

hipError_t hipHccGetAccelerator (int deviceId, hc::accelerator *acc)
 Return hc::acclerator associated with the specified deviceId. More...
 
hipError_t hipHccGetAcceleratorView (hipStream_t stream, hc::accelerator_view **av)
 Return hc::acclerator_view associated with the specified stream. More...
 
+

Detailed Description

+

----------------------------------------------------------------------------------------------—

+

The following calls are only supported when compiler HIP with HCC. To produce portable code, use of these calls must be guarded #ifdef checks:

+
#ifdef __HCC__
+
hc::accelerator acc;
+
hipError_t err = hipHccGetAccelerator(deviceId, &acc)
+
#endif
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipHccGetAccelerator (int deviceId,
hc::accelerator * acc 
)
+
+ +

Return hc::acclerator associated with the specified deviceId.

+
Returns
hipSuccess, hipErrorInvalidDevice
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipHccGetAcceleratorView (hipStream_t stream,
hc::accelerator_view ** av 
)
+
+ +

Return hc::acclerator_view associated with the specified stream.

+
Returns
hipSuccess
+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__HIP-ENV.html b/docs/RuntimeAPI/html/group__HIP-ENV.html new file mode 100644 index 0000000000..49583a5127 --- /dev/null +++ b/docs/RuntimeAPI/html/group__HIP-ENV.html @@ -0,0 +1,109 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: HIP Environment Variables + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
HIP Environment Variables
+
+
+ + + + + + + + + + + +

+Variables

+int HIP_PRINT_ENV
 Print all HIP-related environment variables.
 
+int HIP_TRACE_API
 Trace HIP APIs.
 
+int HIP_LAUNCH_BLOCKING
 Make all HIP APIs host-synchronous.
 
+

Detailed Description

+
+ + + + diff --git a/docs/RuntimeAPI/html/group__Memory.html b/docs/RuntimeAPI/html/group__Memory.html new file mode 100644 index 0000000000..f2d06c6a49 --- /dev/null +++ b/docs/RuntimeAPI/html/group__Memory.html @@ -0,0 +1,352 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Memory Management + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Memory Management
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

hipError_t hipMalloc (void **ptr, size_t size)
 
hipError_t hipMallocHost (void **ptr, size_t size)
 
hipError_t hipFree (void *ptr)
 
hipError_t hipFreeHost (void *ptr)
 
hipError_t hipMemcpy (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
 
+hipError_t hipMemcpyToSymbol (const char *symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind)
 
hipError_t hipMemcpyAsync (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream=0)
 
+hipError_t hipMemset (void *dst, int value, size_t sizeBytes)
 
+hipError_t hipMemsetAsync (void *dst, int value, size_t sizeBytes, hipStream_t=0)
 
+hipError_t hipMemGetInfo (size_t *free, size_t *total)
 
+

Detailed Description

+

----------------------------------------------------------------------------------------------—

+

The following CUDA APIs are not currently supported:

+
    +
  • cudaMalloc3D
  • +
  • cudaMalloc3DArray
  • +
  • TODO - more 2D, 3D, array APIs here.
  • +
+

Function Documentation

+ +
+
+ + + + + + + + +
hipError_t hipFree (void * ptr)
+
+

Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSynchronize() call.

+
Parameters
+ + +
[in]ptrPointer to memory to be freed
+
+
+
Returns
Error code
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipFreeHost (void * ptr)
+
+

Free memory allocated by the hcc hip host memory allocation API

+
Parameters
+ + +
[in]ptrPointer to memory to be freed
+
+
+
Returns
Error code
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipMalloc (void ** ptr,
size_t size 
)
+
+

Allocate memory on the default accelerator

+
Parameters
+ + + +
[out]ptrPointer to the allocated memory
[in]sizeRequested memory size
+
+
+
Returns
hipSuccess
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipMallocHost (void ** ptr,
size_t size 
)
+
+

Allocate pinned host memory

+
Parameters
+ + + +
[in]ptrPointer to the allocated host pinned memory
[out]sizeRequested memory size
+
+
+
Returns
Error code
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hipError_t hipMemcpy (void * dst,
const void * src,
size_t sizeBytes,
hipMemcpyKind kind 
)
+
+

Copy data from src to dst. It supports memory from host to device, device to host, device to device and host to host The src and dst must not overlap. If the

+

This function is host-synchronous for most inputs. It uses the default NULL stream and will synchronize with other blocking streams on the same device.

+
Parameters
+ + + + + +
being copy to
[in]srcData being copy from
[in]sizeBytesData size in bytes
[in]copyTypeMemory copy type
+
+
+
Returns
Error code
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hipError_t hipMemcpyAsync (void * dst,
const void * src,
size_t sizeBytes,
hipMemcpyKind kind,
hipStream_t stream = 0 
)
+
+

Copy data from src to dst asynchronously. It supports memory from host to device, device to host, device to device and host to host.

+
Parameters
+ + + + + +
[out]dstData being copy to
[in]srcData being copy from
[in]sizeBytesData size in bytes
[in]accelerator_viewAccelerator view which the copy is being enqueued
+
+
+
Returns
Error code
+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__PeerToPeer.html b/docs/RuntimeAPI/html/group__PeerToPeer.html new file mode 100644 index 0000000000..9b2174c2bd --- /dev/null +++ b/docs/RuntimeAPI/html/group__PeerToPeer.html @@ -0,0 +1,249 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Device Memory Access + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Device Memory Access
+
+
+ + + + + + + + + + + + + +

+Functions

hipError_t hipDeviceCanAccessPeer (int *canAccessPeer, int device, int peerDevice)
 Determine if a device can access a peer's memory. More...
 
hipError_t hipDeviceDisablePeerAccess (int peerDevice)
 
hipError_t hipDeviceEnablePeerAccess (int peerDevice, unsigned int flags)
 
+hipError_t hipMemcpyPeer (void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes)
 
hipError_t hipMemcpyPeerAsync (void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream=0)
 
+

Detailed Description

+

----------------------------------------------------------------------------------------------—

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
hipError_t hipDeviceCanAccessPeer (int * canAccessPeer,
int device,
int peerDevice 
)
+
+ +

Determine if a device can access a peer's memory.

+
Parameters
+ + + + +
[out]canAccessPeerreturns true if specified devices are peers.
[in]device
[in]peerDeviceReturns "1" in canAccessPeer if the specified device is capable of directly accessing memory phyically located on peerDevice , or "0" if not.
+
+
+
Warning
HCC returns 0 in *canAccessPeer ; Need to update this function when RT supports P2P
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipDeviceDisablePeerAccess (int peerDevice)
+
+
Warning
Need to update this function when RT supports P2P
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipDeviceEnablePeerAccess (int peerDevice,
unsigned int flags 
)
+
+
Warning
Need to update this function when RT supports P2P
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hipError_t hipMemcpyPeerAsync (void * dst,
int dstDevice,
const void * src,
int srcDevice,
size_t sizeBytes,
hipStream_t stream 
)
+
+
Bug:
This function uses a synchronous copy
+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__Profiler.html b/docs/RuntimeAPI/html/group__Profiler.html new file mode 100644 index 0000000000..354d17569d --- /dev/null +++ b/docs/RuntimeAPI/html/group__Profiler.html @@ -0,0 +1,93 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Control + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Control
+
+
+

----------------------------------------------------------------------------------------------—

+

The cudaProfilerInitialize API format for "configFile" is not supported.

+

On AMD platforms, hipProfilerStart and hipProfilerStop require installation of AMD's GPU perf counter API and defining GPU_PERF

+
+ + + + diff --git a/docs/RuntimeAPI/html/group__Stream.html b/docs/RuntimeAPI/html/group__Stream.html new file mode 100644 index 0000000000..6f2efc9edc --- /dev/null +++ b/docs/RuntimeAPI/html/group__Stream.html @@ -0,0 +1,291 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Stream Management + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Stream Management
+
+
+ + + + + + + + + + + + + + + + + +

+Functions

hipError_t hipStreamCreateWithFlags (hipStream_t *stream, unsigned int flags)
 Create an asynchronous stream. More...
 
hipError_t hipStreamWaitEvent (hipStream_t stream, hipEvent_t event, unsigned int flags)
 Make the specified compute stream wait for an event. More...
 
hipError_t hipStreamSynchronize (hipStream_t stream)
 Wait for all commands in stream to complete. More...
 
hipError_t hipStreamDestroy (hipStream_t stream)
 Destroys the specified stream. More...
 
hipError_t hipStreamGetFlags (hipStream_t stream, unsigned int *flags)
 Return flags associated with this stream. More...
 
+

Detailed Description

+

----------------------------------------------------------------------------------------------—

+

The following Stream APIs are not (yet) supported in HIP:

+
    +
  • cudaStreamCreateWithPriority
  • +
  • cudaStreamGetPriority
  • +
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipStreamCreateWithFlags (hipStream_tstream,
unsigned int flags 
)
+
+ +

Create an asynchronous stream.

+
Parameters
+ + + +
[in,out]streamPointer to new stream
[in]flagsto control stream creation.
+
+
+
Returns
hipSuccess, hipErrorInvalidValue
+

Create a new asynchronous stream. Flags controls behavior of the stream. See hipStreamDefault, hipStreamNonBlocking. hipStream_t are under development - with current HIP use the NULL stream.

+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipStreamDestroy (hipStream_t stream)
+
+ +

Destroys the specified stream.

+
Parameters
+ + +
[in,out]streamValid pointer to hipStream_t. This function writes the memory with the newly created stream.
+
+
+
Returns
hipSuccess
+

Destroys the specified stream.

+

If commands are still executing on the specified stream, some may complete execution before the queue is deleted.

+

The queue may be destroyed while some commands are still inflight, or may wait for all commands queued to the stream before destroying it.

+
Returns
hipSuccess, hipErrorInvalidResourceHandle
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
hipError_t hipStreamGetFlags (hipStream_t stream,
unsigned int * flags 
)
+
+ +

Return flags associated with this stream.

+
Parameters
+ + + +
[in]stream
[in,out]flags
+
+
+
Returns
hipSuccess, hipErrorInvalidValue, hipErrorInvalidResourceHandle
+

Return flags associated with this stream in *flags.

+
See Also
hipStreamCreateWithFlags
+
Returns
hipSuccess
+ +
+
+ +
+
+ + + + + + + + +
hipError_t hipStreamSynchronize (hipStream_t stream)
+
+ +

Wait for all commands in stream to complete.

+

If the null stream is specified, this command blocks until all

+

This command honors the hipDeviceLaunchBlocking flag, which controls whether the wait is active or blocking.

+

This command is host-synchronous : the host will block until the stream is empty.

+

TODO

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
hipError_t hipStreamWaitEvent (hipStream_t stream,
hipEvent_t event,
unsigned int flags 
)
+
+ +

Make the specified compute stream wait for an event.

+
Parameters
+ + + + +
[in]streamstream to make wait.
[in]eventevent to wait on
[in]flagscontrol operation [must be 0]
+
+
+
Returns
hipSuccess, hipErrorInvalidResourceHandle
+

This function inserts a wait operation into the specified stream. All future work submitted to stream will wait until event reports completion before beginning execution. This function is host-asynchronous and the function may return before the wait has completed.

+
Bug:
This function conservatively waits for all work in the specified stream to complete.
+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__Texture.html b/docs/RuntimeAPI/html/group__Texture.html new file mode 100644 index 0000000000..a19d108f0a --- /dev/null +++ b/docs/RuntimeAPI/html/group__Texture.html @@ -0,0 +1,129 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Texture Reference Management + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Texture Reference Management
+
+
+ + + + + + + + + + + + + + +

+Functions

+template<class T >
hipChannelFormatDesc hipCreateChannelDesc ()
 
+template<class T , int dim, enum hipTextureReadMode readMode>
hipError_t hipBindTexture (size_t *offset, struct texture< T, dim, readMode > &tex, const void *devPtr, const struct hipChannelFormatDesc *desc, size_t size=UINT_MAX)
 
+template<class T , int dim, enum hipTextureReadMode readMode>
hipError_t hipBindTexture (size_t *offset, struct texture< T, dim, readMode > &tex, const void *devPtr, size_t size=UINT_MAX)
 
+template<class T , int dim, enum hipTextureReadMode readMode>
hipError_t hipUnbindTexture (struct texture< T, dim, readMode > *tex)
 
+

Detailed Description

+

----------------------------------------------------------------------------------------------—

+
Warning
The HIP texture API implements a small subset of full texture API. Known limitations include:
    +
  • Only point sampling is supported.
  • +
  • Only C++ APIs are provided.
  • +
  • Many APIs and modes are not implemented.
  • +
+
+

The HIP texture support is intended to allow use of texture cache on hardware where this is beneficial.

+

The following CUDA APIs are not currently supported:

+
    +
  • cudaBindTexture2D
  • +
  • cudaBindTextureToArray
  • +
  • cudaBindTextureToMipmappedArray
  • +
  • cudaGetChannelDesc
  • +
  • cudaGetTextureReference
  • +
+
+ + + + diff --git a/docs/RuntimeAPI/html/group__Version.html b/docs/RuntimeAPI/html/group__Version.html new file mode 100644 index 0000000000..f5cb9f0063 --- /dev/null +++ b/docs/RuntimeAPI/html/group__Version.html @@ -0,0 +1,122 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Management + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+
Management
+
+
+ + + + + +

+Functions

hipError_t hipDriverGetVersion (int *driverVersion)
 Returns the approximate HIP driver versin. More...
 
+

Detailed Description

+

----------------------------------------------------------------------------------------------—

+

Function Documentation

+ +
+
+ + + + + + + + +
hipError_t hipDriverGetVersion (int * driverVersion)
+
+ +

Returns the approximate HIP driver versin.

+
Warning
The HIP feature set does not correpond to an exact CUDA SDK driver revision. This function always set *driverVersion to 4 as an approximation though HIP supports some features which were introduced in later CUDA SDK revisions. HIP apps code should not rely on the driver revision number here and should use arch feature flags to test device capabiliies or conditional compilation.
+
Returns
hipSuccess
+ +
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h.html b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h.html new file mode 100644 index 0000000000..2b02e80742 --- /dev/null +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h.html @@ -0,0 +1,395 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hcc_detail/hip_runtime.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
hip_runtime.h File Reference
+
+
+
#include <cstring>
+#include <cmath>
+#include <string.h>
+#include <stddef.h>
+#include <hip_runtime_api.h>
+#include <hc.hpp>
+#include <grid_launch.h>
+#include <hcc_detail/hip_texture.h>
+#include <hcc_detail/host_defines.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define CUDA_SUCCESS   hipSuccess
 
+#define hipLaunchParm   grid_launch_parm
 
+#define __HIP_DEVICE_COMPILE__   0
 
+#define __launch_bounds__(requiredMaxThreadsPerBlock, minBlocksPerMultiprocessor)
 
+#define clock_t   long long int
 
#define hipThreadIdx_x   (amp_get_local_id(2))
 
+#define hipThreadIdx_y   (amp_get_local_id(1))
 
+#define hipThreadIdx_z   (amp_get_local_id(0))
 
+#define hipBlockIdx_x   (hc_get_group_id(2))
 
+#define hipBlockIdx_y   (hc_get_group_id(1))
 
+#define hipBlockIdx_z   (hc_get_group_id(0))
 
+#define hipBlockDim_x   (amp_get_local_size(2))
 
+#define hipBlockDim_y   (amp_get_local_size(1))
 
+#define hipBlockDim_z   (amp_get_local_size(0))
 
+#define hipGridDim_x   (hc_get_num_groups(2))
 
+#define hipGridDim_y   (hc_get_num_groups(1))
 
+#define hipGridDim_z   (hc_get_num_groups(0))
 
+#define __syncthreads()   hc_barrier(CLK_LOCAL_MEM_FENCE)
 
+#define HIP_KERNEL_NAME(...)   __VA_ARGS__
 
#define KERNELBEGIN
 
#define KERNELEND
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+__device__ long long int clock64 ()
 
+__device__ clock_t clock ()
 
+__device__ int atomicAdd (int *address, int val)
 
+__device__ unsigned int atomicAdd (unsigned int *address, unsigned int val)
 
+__device__ unsigned long long int atomicAdd (unsigned long long int *address, unsigned long long int val)
 
+__device__ float atomicAdd (float *address, float val)
 
+__device__ int atomicSub (int *address, int val)
 
+__device__ unsigned int atomicSub (unsigned int *address, unsigned int val)
 
+__device__ int atomicExch (int *address, int val)
 
+__device__ unsigned int atomicExch (unsigned int *address, unsigned int val)
 
+__device__ unsigned long long int atomicExch (unsigned long long int *address, unsigned long long int val)
 
+__device__ float atomicExch (float *address, float val)
 
+__device__ int atomicMin (int *address, int val)
 
+__device__ unsigned int atomicMin (unsigned int *address, unsigned int val)
 
+__device__ unsigned long long int atomicMin (unsigned long long int *address, unsigned long long int val)
 
+__device__ int atomicMax (int *address, int val)
 
+__device__ unsigned int atomicMax (unsigned int *address, unsigned int val)
 
+__device__ unsigned long long int atomicMax (unsigned long long int *address, unsigned long long int val)
 
+__device__ unsigned int atomicInc (unsigned int *address)
 
+__device__ unsigned int atomicDec (unsigned int *address)
 
+__device__ int atomicCAS (int *address, int compare, int val)
 
+__device__ unsigned int atomicCAS (unsigned int *address, unsigned int compare, unsigned int val)
 
+__device__ unsigned long long int atomicCAS (unsigned long long int *address, unsigned long long int compare, unsigned long long int val)
 
+__device__ int atomicAnd (int *address, int val)
 
+__device__ unsigned int atomicAnd (unsigned int *address, unsigned int val)
 
+__device__ unsigned long long int atomicAnd (unsigned long long int *address, unsigned long long int val)
 
+__device__ int atomicOr (int *address, int val)
 
+__device__ unsigned int atomicOr (unsigned int *address, unsigned int val)
 
+__device__ unsigned long long int atomicOr (unsigned long long int *address, unsigned long long int val)
 
+__device__ int atomicXor (int *address, int val)
 
+__device__ unsigned int atomicXor (unsigned int *address, unsigned int val)
 
+__device__ unsigned long long int atomicXor (unsigned long long int *address, unsigned long long int val)
 
+__device__ unsigned int __popc (unsigned int input)
 
+__device__ unsigned int __popcll (unsigned long long int input)
 
+__device__ unsigned int __clz (unsigned int input)
 
+__device__ unsigned int __clzll (unsigned long long int input)
 
+__device__ unsigned int __clz (int input)
 
+__device__ unsigned int __clzll (long long int input)
 
+__device__ unsigned int __ffs (unsigned int input)
 
+__device__ unsigned int __ffsll (unsigned long long int input)
 
+__device__ unsigned int __brev (unsigned int input)
 
+__device__ unsigned long long int __brevll (unsigned long long int input)
 
+__device__ int __all (int input)
 
+__device__ int __any (int input)
 
+__device__ unsigned long long int __ballot (int input)
 
+ + + + + + + + + + + + +

+Variables

+int warpSize
 
+int HIP_PRINT_ENV
 Print all HIP-related environment variables.
 
+int HIP_TRACE_API
 Trace HIP APIs.
 
+int HIP_LAUNCH_BLOCKING
 Make all HIP APIs host-synchronous.
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define hipThreadIdx_x   (amp_get_local_id(2))
+
+

Kernel launching

+ +
+
+ +
+
+ + + + +
#define KERNELBEGIN
+
+Value:
hc::extent<3> ext(lp.gridDim.x, lp.gridDim.y, lp.gridDim.z);\
+
auto __hipExtTile = ext.tile(lp.groupDim.x, lp.groupDim.y, lp.groupDim.z);\
+
__hipExtTile.set_dynamic_group_segment_size(lp.groupMemBytes);\
+
\
+
hc::completion_future cf = \
+
hc::parallel_for_each (\
+
*lp.av,\
+
__hipExtTile,\
+
[=] (hc::tiled_index<3> __hipIdx) mutable [[hc]] \
+
{
+
+
+
+ +
+
+ + + + +
#define KERNELEND
+
+Value:
}); \
+ +
if (HIP_TRACE_API) {\
+
fprintf(stderr, "hiptrace1: HIP_LAUNCH_BLOCKING ...\n");\
+
}\
+
cf.wait(); \
+
if (HIP_TRACE_API) {\
+
fprintf(stderr, "hiptrace1: ...completed.\n");\
+
}\
+
}
+
int HIP_TRACE_API
Trace HIP APIs.
Definition: hip_hcc.cpp:57
+
int HIP_LAUNCH_BLOCKING
Make all HIP APIs host-synchronous.
Definition: hip_hcc.cpp:58
+
+
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h_source.html b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h_source.html new file mode 100644 index 0000000000..667d8a38e2 --- /dev/null +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h_source.html @@ -0,0 +1,637 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hcc_detail/hip_runtime.h Source File + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hip_runtime.h
+
+
+Go to the documentation of this file.
1 /*
+
2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
+
3 
+
4 Permission is hereby granted, free of charge, to any person obtaining a copy
+
5 of this software and associated documentation files (the "Software"), to deal
+
6 in the Software without restriction, including without limitation the rights
+
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
8 copies of the Software, and to permit persons to whom the Software is
+
9 furnished to do so, subject to the following conditions:
+
10 
+
11 The above copyright notice and this permission notice shall be included in
+
12 all copies or substantial portions of the Software.
+
13 
+
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
20 THE SOFTWARE.
+
21 */
+
27 #pragma once
+
28 
+
29 //---
+
30 // Top part of file can be compiled with any compiler
+
31 
+
32 
+
33 #include <cstring>
+
34 #include <cmath>
+
35 #include <string.h>
+
36 #include <stddef.h>
+
37 
+
38 
+
39 #define CUDA_SUCCESS hipSuccess
+
40 
+
41 #include <hip_runtime_api.h>
+
42 
+
43 //---
+
44 // Remainder of this file only compiles with HCC
+
45 #ifdef __HCC__
+
46 #include <hc.hpp>
+
47 #include <grid_launch.h>
+
48 
+
49 //TODO-HCC-GL - change this to typedef.
+
50 //typedef grid_launch_parm hipLaunchParm ;
+
51 #define hipLaunchParm grid_launch_parm
+
52 
+
53 #include <hcc_detail/hip_texture.h>
+
54 #include <hcc_detail/host_defines.h>
+
55 
+
56 // TODO-HCC remove old definitions ; ~1602 hcc supports __HCC_ACCELERATOR__ define.
+
57 #if defined (__KALMAR_ACCELERATOR__) && not defined (__HCC_ACCELERATOR__)
+
58 #define __HCC_ACCELERATOR__ __KALMAR_ACCELERATOR__
+
59 #endif
+
60 
+
61 // Feature tests:
+
62 #if defined(__HCC_ACCELERATOR__) and (__HCC_ACCELERATOR__ != 0)
+
63 // Device compile and not host compile:
+
64 
+
65 
+
66 #define __HIP_DEVICE_COMPILE__ 1
+
67 
+
68 //TODO-HCC enable __HIP_ARCH_HAS_ATOMICS__ when HCC supports these.
+
69  // 32-bit Atomics:
+
70 #define __HIP_ARCH_HAS_GLOBAL_INT32_ATOMICS__ (1)
+
71 #define __HIP_ARCH_HAS_GLOBAL_FLOAT_ATOMIC_EXCH__ (1)
+
72 #define __HIP_ARCH_HAS_SHARED_INT32_ATOMICS__ (0)
+
73 #define __HIP_ARCH_HAS_SHARED_FLOAT_ATOMIC_EXCH__ (0)
+
74 #define __HIP_ARCH_HAS_FLOAT_ATOMIC_ADD__ (0)
+
75 
+
76 // 64-bit Atomics:
+
77 #define __HIP_ARCH_HAS_GLOBAL_INT64_ATOMICS__ (1)
+
78 #define __HIP_ARCH_HAS_SHARED_INT64_ATOMICS__ (0)
+
79 
+
80 // Doubles
+
81 #define __HIP_ARCH_HAS_DOUBLES__ (1)
+
82 
+
83 //warp cross-lane operations:
+
84 #define __HIP_ARCH_HAS_WARP_VOTE__ (1)
+
85 #define __HIP_ARCH_HAS_WARP_BALLOT__ (1)
+
86 #define __HIP_ARCH_HAS_WARP_SHUFFLE__ (1)
+
87 #define __HIP_ARCH_HAS_WARP_FUNNEL_SHIFT__ (0)
+
88 
+
89 //sync
+
90 #define __HIP_ARCH_HAS_THREAD_FENCE_SYSTEM__ (0)
+
91 #define __HIP_ARCH_HAS_SYNC_THREAD_EXT__ (0)
+
92 
+
93 // misc
+
94 #define __HIP_ARCH_HAS_SURFACE_FUNCS__ (0)
+
95 #define __HIP_ARCH_HAS_3DGRID__ (1)
+
96 #define __HIP_ARCH_HAS_DYNAMIC_PARALLEL__ (0)
+
97 
+
98 #else
+
99 // Host compile and not device compile:
+
100 #define __HIP_DEVICE_COMPILE__ 0
+
101 
+
102 #endif
+
103 
+
104 
+
105 
+
106 
+
107 
+
108 //TODO-HCC this is currently ignored by HCC target of HIP
+
109 #define __launch_bounds__(requiredMaxThreadsPerBlock, minBlocksPerMultiprocessor)
+
110 
+
111 // Detect if we are compiling C++ mode or C mode
+
112 #if defined(__cplusplus)
+
113 #define __HCC_CPP__
+
114 #elif defined(__STDC_VERSION__)
+
115 #define __HCC_C__
+
116 #endif
+
117 
+
118 #define clock_t long long int
+
119 __device__ inline long long int clock64() { return (long long int)hc::__clock_u64(); };
+
120 __device__ inline clock_t clock() { return (clock_t)hc::__clock_u64(); };
+
121 
+
122 //atomicAdd()
+
123 __device__ inline int atomicAdd(int* address, int val)
+
124 {
+
125  return hc::atomic_fetch_add(address,val);
+
126 }
+
127 __device__ inline unsigned int atomicAdd(unsigned int* address,
+
128  unsigned int val)
+
129 {
+
130  return hc::atomic_fetch_add(address,val);
+
131 }
+
132 __device__ inline unsigned long long int atomicAdd(unsigned long long int* address,
+
133  unsigned long long int val)
+
134 {
+
135  return (long long int)hc::atomic_fetch_add((uint64_t*)address,(uint64_t)val);
+
136 }
+
137 __device__ inline float atomicAdd(float* address, float val)
+
138 {
+
139  return hc::atomic_fetch_add(address,val);
+
140 }
+
141 
+
142 //atomicSub()
+
143 __device__ inline int atomicSub(int* address, int val)
+
144 {
+
145  return hc::atomic_fetch_sub(address,val);
+
146 }
+
147 __device__ inline unsigned int atomicSub(unsigned int* address,
+
148  unsigned int val)
+
149 {
+
150  return hc::atomic_fetch_sub(address,val);
+
151 }
+
152 
+
153 //atomicExch()
+
154 __device__ inline int atomicExch(int* address, int val)
+
155 {
+
156  return hc::atomic_exchange(address,val);
+
157 }
+
158 __device__ inline unsigned int atomicExch(unsigned int* address,
+
159  unsigned int val)
+
160 {
+
161  return hc::atomic_exchange(address,val);
+
162 }
+
163 __device__ inline unsigned long long int atomicExch(unsigned long long int* address,
+
164  unsigned long long int val)
+
165 {
+
166  return (long long int)hc::atomic_exchange((uint64_t*)address,(uint64_t)val);
+
167 }
+
168 __device__ inline float atomicExch(float* address, float val)
+
169 {
+
170  return hc::atomic_exchange(address,val);
+
171 }
+
172 
+
173 //atomicMin()
+
174 __device__ inline int atomicMin(int* address, int val)
+
175 {
+
176  return hc::atomic_fetch_min(address,val);
+
177 }
+
178 __device__ inline unsigned int atomicMin(unsigned int* address,
+
179  unsigned int val)
+
180 {
+
181  return hc::atomic_fetch_min(address,val);
+
182 }
+
183 __device__ inline unsigned long long int atomicMin(unsigned long long int* address,
+
184  unsigned long long int val)
+
185 {
+
186  return (long long int)hc::atomic_fetch_min((uint64_t*)address,(uint64_t)val);
+
187 }
+
188 
+
189 //atomicMax()
+
190 __device__ inline int atomicMax(int* address, int val)
+
191 {
+
192  return hc::atomic_fetch_max(address,val);
+
193 }
+
194 __device__ inline unsigned int atomicMax(unsigned int* address,
+
195  unsigned int val)
+
196 {
+
197  return hc::atomic_fetch_max(address,val);
+
198 }
+
199 __device__ inline unsigned long long int atomicMax(unsigned long long int* address,
+
200  unsigned long long int val)
+
201 {
+
202  return (long long int)hc::atomic_fetch_max((uint64_t*)address,(uint64_t)val);
+
203 }
+
204 
+
205 //atomicInc()
+
206 __device__ inline unsigned int atomicInc(unsigned int* address)
+
207 {
+
208  return hc::atomic_fetch_inc(address);
+
209 }
+
210 
+
211 //atomicDec()
+
212 __device__ inline unsigned int atomicDec(unsigned int* address)
+
213 {
+
214  return hc::atomic_fetch_dec(address);
+
215 }
+
216 
+
217 //atomicCAS()
+
218 __device__ inline int atomicCAS(int* address, int compare, int val)
+
219 {
+
220  hc::atomic_compare_exchange(address,&compare,val);
+
221  return *address;
+
222 }
+
223 __device__ inline unsigned int atomicCAS(unsigned int* address,
+
224  unsigned int compare,
+
225  unsigned int val)
+
226 {
+
227  hc::atomic_compare_exchange(address,&compare,val);
+
228  return *address;
+
229 }
+
230 __device__ inline unsigned long long int atomicCAS(unsigned long long int* address,
+
231  unsigned long long int compare,
+
232  unsigned long long int val)
+
233 {
+
234  hc::atomic_compare_exchange((uint64_t*)address,(uint64_t*)&compare,(uint64_t)val);
+
235  return *address;
+
236 }
+
237 
+
238 //atomicAnd()
+
239 __device__ inline int atomicAnd(int* address, int val)
+
240 {
+
241  return hc::atomic_fetch_and(address,val);
+
242 }
+
243 __device__ inline unsigned int atomicAnd(unsigned int* address,
+
244  unsigned int val)
+
245 {
+
246  return hc::atomic_fetch_and(address,val);
+
247 }
+
248 __device__ inline unsigned long long int atomicAnd(unsigned long long int* address,
+
249  unsigned long long int val)
+
250 {
+
251  return (long long int)hc::atomic_fetch_and((uint64_t*)address,(uint64_t)val);
+
252 }
+
253 
+
254 //atomicOr()
+
255 __device__ inline int atomicOr(int* address, int val)
+
256 {
+
257  return hc::atomic_fetch_or(address,val);
+
258 }
+
259 __device__ inline unsigned int atomicOr(unsigned int* address,
+
260  unsigned int val)
+
261 {
+
262  return hc::atomic_fetch_or(address,val);
+
263 }
+
264 __device__ inline unsigned long long int atomicOr(unsigned long long int* address,
+
265  unsigned long long int val)
+
266 {
+
267  return (long long int)hc::atomic_fetch_or((uint64_t*)address,(uint64_t)val);
+
268 }
+
269 
+
270 //atomicXor()
+
271 __device__ inline int atomicXor(int* address, int val)
+
272 {
+
273  return hc::atomic_fetch_xor(address,val);
+
274 }
+
275 __device__ inline unsigned int atomicXor(unsigned int* address,
+
276  unsigned int val)
+
277 {
+
278  return hc::atomic_fetch_xor(address,val);
+
279 }
+
280 __device__ inline unsigned long long int atomicXor(unsigned long long int* address,
+
281  unsigned long long int val)
+
282 {
+
283  return (long long int)hc::atomic_fetch_xor((uint64_t*)address,(uint64_t)val);
+
284 }
+
285 
+
286 #ifdef __HCC__
+
287 #include <hc.hpp>
+
288 // integer intrinsic function __poc __clz __ffs __brev
+
289 __device__ inline unsigned int __popc( unsigned int input)
+
290 {
+
291  return hc::__popcount_u32_b32( input);
+
292 }
+
293 
+
294 __device__ inline unsigned int __popcll( unsigned long long int input)
+
295 {
+
296  return hc::__popcount_u32_b64(input);
+
297 }
+
298 
+
299 __device__ inline unsigned int __clz(unsigned int input)
+
300 {
+
301  return hc::__firstbit_u32_u32( input);
+
302 }
+
303 
+
304 __device__ inline unsigned int __clzll(unsigned long long int input)
+
305 {
+
306  return hc::__firstbit_u32_u64( input);
+
307 }
+
308 
+
309 __device__ inline unsigned int __clz(int input)
+
310 {
+
311  return hc::__firstbit_u32_s32( input);
+
312 }
+
313 
+
314 __device__ inline unsigned int __clzll(long long int input)
+
315 {
+
316  return hc::__firstbit_u32_s64( input);
+
317 }
+
318 
+
319 __device__ inline unsigned int __ffs(unsigned int input)
+
320 {
+
321  return hc::__lastbit_u32_u32( input)+1;
+
322 }
+
323 
+
324 __device__ inline unsigned int __ffsll(unsigned long long int input)
+
325 {
+
326  return hc::__lastbit_u32_u64( input)+1;
+
327 }
+
328 
+
329 __device__ inline unsigned int __brev( unsigned int input)
+
330 {
+
331  return hc::__bitrev_b32( input);
+
332 }
+
333 
+
334 __device__ inline unsigned long long int __brevll( unsigned long long int input)
+
335 {
+
336  return hc::__bitrev_b64( input);
+
337 }
+
338 
+
339 // warp vote function __all __any __ballot
+
340 
+
341 __device__ inline int __all( int input)
+
342 {
+
343  return hc::__all( input);
+
344 }
+
345 
+
346 
+
347 __device__ inline int __any( int input)
+
348 {
+
349  return hc::__any( input);
+
350 }
+
351 
+
352 
+
353 __device__ inline unsigned long long int __ballot( int input)
+
354 {
+
355  return hc::__ballot( input);
+
356 }
+
357 
+
358 #endif
+
359 
+
360 
+
361 
+
362 #ifdef __HCC_ACCELERATOR__
+
363 #include <hc_math.hpp>
+
364 // TODO: Choose whether default is precise math or fast math based on compilation flag.
+
365 using namespace hc::precise_math;
+
366 
+
367 //TODO: Undo this once min/max functions are supported by hc
+
368 inline int min(int arg1, int arg2) __attribute((hc,cpu)) { \
+
369  return (int)(hc::precise_math::fmin((float)arg1, (float)arg2));}
+
370 inline int max(int arg1, int arg2) __attribute((hc,cpu)) { \
+
371  return (int)(hc::precise_math::fmax((float)arg1, (float)arg2));}
+
372 
+
373 
+
374 //TODO - add a couple fast math operations here, the set here will grow :
+
375 __device__ inline float __log2f(float x) {return hc::fast_math::log2(x); };
+
376 __device__ inline float __powf(float base, float exponent) {return hc::fast_math::powf(base, exponent); };
+
377 
+
378 #endif
+
379 
+
380 
+
381 
+
385 #define hipThreadIdx_x (amp_get_local_id(2))
+
386 #define hipThreadIdx_y (amp_get_local_id(1))
+
387 #define hipThreadIdx_z (amp_get_local_id(0))
+
388 
+
389 #define hipBlockIdx_x (hc_get_group_id(2))
+
390 #define hipBlockIdx_y (hc_get_group_id(1))
+
391 #define hipBlockIdx_z (hc_get_group_id(0))
+
392 
+
393 #define hipBlockDim_x (amp_get_local_size(2))
+
394 #define hipBlockDim_y (amp_get_local_size(1))
+
395 #define hipBlockDim_z (amp_get_local_size(0))
+
396 
+
397 #define hipGridDim_x (hc_get_num_groups(2))
+
398 #define hipGridDim_y (hc_get_num_groups(1))
+
399 #define hipGridDim_z (hc_get_num_groups(0))
+
400 
+
401 
+
402 extern int warpSize ;
+
403 
+
404 
+
405 #define __syncthreads() hc_barrier(CLK_LOCAL_MEM_FENCE)
+
406 
+
407 
+
408 #if 0
+
409 #define KALMAR_PFE_BEGIN() \
+
410  hc::extent<3> ext(lp.gridDim.x, lp.gridDim.y, lp.gridDim.z);\
+
411  auto __hipExtTile = ext.tile(lp.groupDim.x, lp.groupDim.y, lp.groupDim.z);\
+
412  __hipExtTile.set_dynamic_group_segment_size(lp.groupMemBytes);\
+
413  \
+
414  hc::completion_future cf = hc::parallel_for_each (\
+
415  *lp.av,\
+
416  __hipExtTile,\
+
417  [=] (hc::tiled_index<3> __hipIdx) mutable [[hc]]
+
418 
+
419 
+
420 
+
421 #define KALMAR_PFE_END \
+
422  ); \
+
423  if (HIP_LAUNCH_BLOCKING) {\
+
424  if (HIP_TRACE_API) {\
+
425  fprintf(stderr, "hiptrace1: HIP_LAUNCH_BLOCKING ...\n");\
+
426  }\
+
427  cf.wait(); \
+
428  if (HIP_TRACE_API) {\
+
429  fprintf(stderr, "hiptrace1: ...completed.\n");\
+
430  }\
+
431  }
+
432 #endif
+
433 
+
434 
+
435 
+
436 #define HIP_KERNEL_NAME(...) __VA_ARGS__
+
437 
+
438 
+
439 #ifdef __HCC_CPP__
+
440 hc::accelerator_view *ihipLaunchKernel(hipStream_t stream);
+
441 
+
442 #if not defined(DISABLE_GRID_LAUNCH)
+
443 #define hipLaunchKernel(_kernelName, _numBlocks3D, _blockDim3D, _groupMemBytes, _stream, ...) \
+
444 do {\
+
445  grid_launch_parm lp;\
+
446  lp.gridDim.x = _numBlocks3D.x; \
+
447  lp.gridDim.y = _numBlocks3D.y; \
+
448  lp.gridDim.z = _numBlocks3D.z; \
+
449  lp.groupDim.x = _blockDim3D.x; \
+
450  lp.groupDim.y = _blockDim3D.y; \
+
451  lp.groupDim.z = _blockDim3D.z; \
+
452  lp.groupMemBytes = _groupMemBytes;\
+
453  hc::completion_future cf;\
+
454  lp.cf = &cf; \
+
455  lp.av = (ihipLaunchKernel(_stream)); \
+
456  if (HIP_TRACE_API) {\
+
457  fprintf(stderr, "hiptrace1: launch '%s' gridDim:[%d.%d.%d] groupDim:[%d.%d.%d] groupMem:+%d stream=%p\n", \
+
458  #_kernelName, lp.gridDim.z, lp.gridDim.y, lp.gridDim.x, lp.groupDim.z, lp.groupDim.y, lp.groupDim.x, lp.groupMemBytes, (void*)(_stream));\
+
459  }\
+
460  _kernelName (lp, __VA_ARGS__);\
+
461 } while(0)
+
462 
+
463 #else
+
464 #warning(DISABLE_GRID_LAUNCH set)
+
465 
+
466 #define hipLaunchKernel(_kernelName, _numBlocks3D, _blockDim3D, _groupMemBytes, _stream, ...) \
+
467 do {\
+
468  grid_launch_parm lp;\
+
469  lp.gridDim.x = _numBlocks3D.x * _blockDim3D.x;/*Convert from #blocks to #threads*/ \
+
470  lp.gridDim.y = _numBlocks3D.y * _blockDim3D.y;/*Convert from #blocks to #threads*/ \
+
471  lp.gridDim.z = _numBlocks3D.z * _blockDim3D.z;/*Convert from #blocks to #threads*/ \
+
472  lp.groupDim.x = _blockDim3D.x; \
+
473  lp.groupDim.y = _blockDim3D.y; \
+
474  lp.groupDim.z = _blockDim3D.z; \
+
475  lp.groupMemBytes = _groupMemBytes;\
+
476  hc::completion_future cf;\
+
477  lp.cf = &cf; \
+
478  lp.av = (ihipLaunchKernel(_stream)); \
+
479  if (HIP_TRACE_API) {\
+
480  fprintf(stderr, "hiptrace1: launch '%s' gridDim:[%d.%d.%d] groupDim:[%d.%d.%d] groupMem:+%d stream=%p\n", \
+
481  #_kernelName, lp.gridDim.z, lp.gridDim.y, lp.gridDim.x, lp.groupDim.z, lp.groupDim.y, lp.groupDim.x, lp.groupMemBytes, (void*)(_stream));\
+
482  }\
+
483  _kernelName (lp, __VA_ARGS__);\
+
484 } while(0)
+
485 /*end hipLaunchKernel */
+
486 #endif
+
487 
+
488 #elif defined (__HCC_C__)
+
489 
+
490 //TODO - develop C interface.
+
491 
+
492 #endif
+
493 
+
494 
+
495 #if not defined(DISABLE_GRID_LAUNCH)
+
496 // TODO -In GL these are no-ops and can be removed:
+
497 // Keep them around for a little while as a fallback.
+
498 #define KERNELBEGIN
+
499 #define KERNELEND
+
500 
+
501 #else
+
502 
+
503 // TODO-GL:
+
504 // These wrap the kernel in a PFE loop with macros.
+
505 // Not required with GL but exist here as a fallback.
+
506 #define KERNELBEGIN \
+
507  hc::extent<3> ext(lp.gridDim.x, lp.gridDim.y, lp.gridDim.z);\
+
508  auto __hipExtTile = ext.tile(lp.groupDim.x, lp.groupDim.y, lp.groupDim.z);\
+
509  __hipExtTile.set_dynamic_group_segment_size(lp.groupMemBytes);\
+
510  \
+
511  hc::completion_future cf = \
+
512  hc::parallel_for_each (\
+
513  *lp.av,\
+
514  __hipExtTile,\
+
515  [=] (hc::tiled_index<3> __hipIdx) mutable [[hc]] \
+
516  {
+
517 
+
518 
+
519 #define KERNELEND \
+
520  }); \
+
521  if (HIP_LAUNCH_BLOCKING) {\
+
522  if (HIP_TRACE_API) {\
+
523  fprintf(stderr, "hiptrace1: HIP_LAUNCH_BLOCKING ...\n");\
+
524  }\
+
525  cf.wait(); \
+
526  if (HIP_TRACE_API) {\
+
527  fprintf(stderr, "hiptrace1: ...completed.\n");\
+
528  }\
+
529  }
+
530 
+
531 #endif /*DISABLE_GRID_LAUNCH*/
+
532 
+
533 
+
534 #endif // __HCC__
+
535 
+
536 
+
541 extern int HIP_PRINT_ENV ;
+
542 extern int HIP_TRACE_API;
+
543 extern int HIP_LAUNCH_BLOCKING ;
+
544 
+
550 // End doxygen API:
+
int HIP_TRACE_API
Trace HIP APIs.
Definition: hip_hcc.cpp:57
+
Definition: hip_hcc.cpp:82
+
int HIP_PRINT_ENV
Print all HIP-related environment variables.
Definition: hip_hcc.cpp:56
+
int HIP_LAUNCH_BLOCKING
Make all HIP APIs host-synchronous.
Definition: hip_hcc.cpp:58
+
+ + + + diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h_source.html b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h_source.html new file mode 100644 index 0000000000..45bbf45deb --- /dev/null +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__runtime__api_8h_source.html @@ -0,0 +1,469 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hcc_detail/hip_runtime_api.h Source File + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hip_runtime_api.h
+
+
+
1 /*
+
2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
+
3 
+
4 Permission is hereby granted, free of charge, to any person obtaining a copy
+
5 of this software and associated documentation files (the "Software"), to deal
+
6 in the Software without restriction, including without limitation the rights
+
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
8 copies of the Software, and to permit persons to whom the Software is
+
9 furnished to do so, subject to the following conditions:
+
10 
+
11 The above copyright notice and this permission notice shall be included in
+
12 all copies or substantial portions of the Software.
+
13 
+
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
20 THE SOFTWARE.
+
21 */
+
22 #pragma once
+
23 
+
24 
+
25 #include <stdint.h>
+
26 #include <stddef.h>
+
27 
+
28 #include <hcc_detail/host_defines.h>
+
29 
+
30 #if defined (__HCC__) && (__hcc_workweek__ < 1602)
+
31 #error("This version of HIP requires a newer version of HCC.");
+
32 #endif
+
33 
+
34 
+
35 // hip_api_hcc.h
+
36 // Contains C function APIs for HIP runtime.
+
37 // This file does not use any HCC builtins or special language extensions (-hc mode) ; those functions in hip_hcc.h.
+
38 
+
39 
+
40 // Structure definitions:
+
41 #ifdef __cplusplus
+
42 extern "C" {
+
43 #endif
+
44 
+
49 #define hipStreamDefault 0x00
+
51 #define hipStreamNonBlocking 0x01
+
52 
+
53 
+
55 #define hipEventDefault 0x0
+
56 #define hipEventBlockingSync 0x1
+
57 #define hipEventDisableTiming 0x2
+
58 #define hipEventInterprocess 0x4
+
59 
+
60 
+
64 typedef enum hipFuncCache {
+ + + + +
69 } hipFuncCache;
+
70 
+
71 
+
75 typedef enum hipSharedMemConfig {
+ + + + +
80 
+
81 
+
82 
+
87 typedef struct dim3 {
+
88  uint32_t x;
+
89  uint32_t y;
+
90  uint32_t z;
+
91 
+
92  dim3(uint32_t _x=1, uint32_t _y=1, uint32_t _z=1) : x(_x), y(_y), z(_z) {};
+
93 } dim3;
+
94 
+
95 
+
96 
+ + + + + + +
107 } ;
+
108 
+
109 
+
110 // Doxygen end group GlobalDefs
+
114 //-------------------------------------------------------------------------------------------------
+
115 
+
116 
+
117 // The handle allows the async commands to use the stream even if the parent hipStream_t goes out-of-scope.
+
118 typedef struct ihipStream_t * hipStream_t;
+
119 
+
120 
+
121 /*
+
122  * Opaque structure allows the true event (pointed at by the handle) to remain "live" even if the surrounding hipEvent_t goes out-of-scope.
+
123  * This is handy for cases where the hipEvent_t goes out-of-scope but the true event is being written by some async queue or device */
+
124 typedef struct hipEvent_t {
+
125  struct ihipEvent_t *_handle;
+
126 } hipEvent_t;
+
127 
+
128 
+
129 
+
130 
+
131 
+
132 
+
133 #ifdef __cplusplus
+
134 } /* extern "C" */
+
135 #endif
+
136 
+
137 
+
138 
+
139 
+
140 //==================================================================================================
+
141 #ifdef __cplusplus
+
142 extern "C" {
+
143 #endif
+
144 
+ +
169 
+
170 
+
171 
+ +
183 
+
184 
+
209 hipError_t hipSetDevice(int device);
+
210 
+
211 
+
223 hipError_t hipGetDevice(int *device);
+
224 
+
225 
+
233 hipError_t hipGetDeviceCount(int *count);
+
234 
+
235 
+ +
245 
+
246 
+
247 
+
248 //Cache partitioning functions:
+
249 
+ +
257 
+
258 
+ +
266 
+
267 
+ +
275 
+
276 //---
+
277 //Shared bank config functions:
+
278 
+ +
286 
+
287 
+ +
295 
+
296 
+
297 // end doxygen Device
+ +
318 
+
319 
+ +
332 
+
333 
+
334 
+
343 const char *hipGetErrorName(hipError_t hip_error);
+
344 
+
345 
+
356 const char *hipGetErrorString(hipError_t hip_error);
+
357 
+
358 // end doxygen Error
+
388 hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags);
+
389 
+
390 
+
391 
+
401 static inline hipError_t hipStreamCreate(hipStream_t *stream)
+
402 {
+ +
404 }
+
405 
+
406 
+
422 hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags);
+
423 
+
424 
+ +
437 
+
438 
+ +
453 
+
454 
+
468 hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags);
+
469 
+
470 
+
471 // end doxygen Stream
+
496 hipError_t hipEventCreateWithFlags(hipEvent_t* event, unsigned flags);
+
497 
+
498 
+
505 static inline hipError_t hipEventCreate(hipEvent_t* event)
+
506 {
+
507  return hipEventCreateWithFlags(event, 0);
+
508 }
+
509 
+
510 
+
536 hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream = NULL);
+
537 
+
538 
+ +
550 
+
551 
+ +
566 
+
567 
+
592 hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop);
+
593 
+
594 
+ +
608 
+
609 
+
610 // end doxygen Events
+
640 hipError_t hipMalloc(void** ptr, size_t size) ;
+
641 
+
642 
+
650 hipError_t hipMallocHost(void** ptr, size_t size) ;
+
651 
+
652 
+
653 
+
654 // TODO-doc (error codes)
+
662 hipError_t hipFree(void* ptr);
+
663 
+
664 
+
665 
+
666 // TODO-doc (error codes)
+
673 hipError_t hipFreeHost(void* ptr);
+
674 
+
675 
+
676 
+
677 
+
678 // TODO-doc (error codes)
+
694 hipError_t hipMemcpy(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind);
+
695 
+
696 
+
697 hipError_t hipMemcpyToSymbol(const char* symbolName, const void *src, size_t sizeBytes, size_t offset, hipMemcpyKind kind);
+
698 
+
699 
+
700 
+
701 // TODO-doc (error codes)
+
712 hipError_t hipMemcpyAsync(void* dst, const void* src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream=0);
+
713 
+
714 
+
715 // TODO-doc
+
716 /*
+
717  * This function is host-asynchronous and may return before the memset operation completes.
+
718  * Same as hipMemsetAsync with null stream.
+
719  *
+
720  * */
+
721 hipError_t hipMemset(void* dst, int value, size_t sizeBytes );
+
722 hipError_t hipMemsetAsync(void* dst, int value, size_t sizeBytes, hipStream_t = 0 );
+
723 
+
724 
+
725 /*
+
726  * @brief Query memory info. Return snapshot of free memory, and total allocatable memory on the device.
+
727  *
+
728  * Returns in *free a snapshot of the current free memory o
+
729  **/
+
730 hipError_t hipMemGetInfo (size_t * free, size_t * total) ;
+
731 
+
732 // doxygen end Memory
+
757 hipError_t hipDeviceCanAccessPeer ( int* canAccessPeer, int device, int peerDevice );
+
758 
+
759 // TODO-DOC
+
760 hipError_t hipDeviceDisablePeerAccess ( int peerDevice );
+
761 
+
762 // TODO-DOC
+
763 hipError_t hipDeviceEnablePeerAccess ( int peerDevice, unsigned int flags );
+
764 
+
765 // TODO-DOC
+
766 hipError_t hipMemcpyPeer ( void* dst, int dstDevice, const void* src, int srcDevice, size_t sizeBytes );
+
767 
+
768 // TODO-DOC
+
769 hipError_t hipMemcpyPeerAsync ( void* dst, int dstDevice, const void* src, int srcDevice, size_t sizeBytes, hipStream_t stream=0 );
+
770 // doxygen end PeerToPeer
+
794 hipError_t hipDriverGetVersion(int *driverVersion) ;
+
795 
+
796 
+
797 
+
798 // doxygen end Version Management
+
825 #ifdef __cplusplus
+
826 } /* extern "c" */
+
827 #endif
+
828 
+
829 
+
847 #ifdef __HCC__
+
848 #include <hc.hpp>
+
852 hipError_t hipHccGetAccelerator(int deviceId, hc::accelerator *acc);
+
853 
+
857 hipError_t hipHccGetAcceleratorView(hipStream_t stream, hc::accelerator_view **av);
+
858 #endif
+
859 
+
860 
+
861 // end-group HCC_Specific
+
868 // doxygen end HIP API
+
hipError_t hipDeviceEnablePeerAccess(int peerDevice, unsigned int flags)
Definition: hip_hcc.cpp:1575
+
hipError_t hipDeviceCanAccessPeer(int *canAccessPeer, int device, int peerDevice)
Determine if a device can access a peer's memory.
Definition: hip_hcc.cpp:1551
+
hipError_t hipPeekAtLastError(void)
Return last error returned by any HIP runtime API call.
+
hipError_t hipHccGetAcceleratorView(hipStream_t stream, hc::accelerator_view **av)
Return hc::acclerator_view associated with the specified stream.
Definition: hip_hcc.cpp:1647
+
struct dim3 dim3
+
hipError_t hipFreeHost(void *ptr)
Definition: hip_hcc.cpp:1529
+
hipError_t hipFuncSetCacheConfig(hipFuncCache config)
Set Cache configuration for a specific function.
Definition: hip_hcc.cpp:704
+
no preference for shared memory or L1 (default)
Definition: hip_runtime_api.h:65
+
uint32_t x
x
Definition: hip_runtime_api.h:88
+
Host-to-Device Copy.
Definition: hip_runtime_api.h:103
+
hipError_t hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig)
Get Shared memory bank configuration.
Definition: hip_hcc.cpp:734
+
hipError_t hipSetDevice(int device)
Set default device to be used for subsequent hip API calls from this thread.
Definition: hip_hcc.cpp:747
+
Device-to-Host Copy.
Definition: hip_runtime_api.h:104
+
hipError_t hipEventSynchronize(hipEvent_t event)
: Wait for an event to complete.
Definition: hip_hcc.cpp:1074
+
hipError_t hipDeviceGetProperties(hipDeviceProp_t *prop, int device)
Returns device properties.
Definition: hip_hcc.cpp:801
+
hipFuncCache
Definition: hip_runtime_api.h:64
+
hipError_t hipEventQuery(hipEvent_t event)
Query event status.
Definition: hip_hcc.cpp:1169
+
hipError_t hipDeviceGetCacheConfig(hipFuncCache *cacheConfig)
Set Cache configuration for a specific function.
Definition: hip_hcc.cpp:690
+
hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream=NULL)
Record an event in the specified stream.
Definition: hip_hcc.cpp:1025
+
hipError_t hipGetDevice(int *device)
Return the default device id for the calling host thread.
Definition: hip_hcc.cpp:645
+
hipError_t hipEventDestroy(hipEvent_t event)
Destroy the specified event.
Definition: hip_hcc.cpp:1059
+
hipError_t hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags)
Create an asynchronous stream.
Definition: hip_hcc.cpp:891
+
hipError_t hipDeviceDisablePeerAccess(int peerDevice)
Definition: hip_hcc.cpp:1563
+
Definition: hip_runtime_api.h:87
+
uint32_t y
y
Definition: hip_runtime_api.h:89
+
prefer equal size L1 cache and shared memory
Definition: hip_runtime_api.h:68
+
hipError_t hipEventCreateWithFlags(hipEvent_t *event, unsigned flags)
Create an event with the specified flags.
Definition: hip_hcc.cpp:1002
+
hipError_t hipMallocHost(void **ptr, size_t size)
Definition: hip_hcc.cpp:1289
+
hipError_t hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop)
Return the elapsed time between two events.
Definition: hip_hcc.cpp:1124
+
hipError_t hipMemcpyPeerAsync(void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream=0)
Definition: hip_hcc.cpp:1596
+
hipError_t hipGetDeviceCount(int *count)
Return number of compute-capable devices.
Definition: hip_hcc.cpp:658
+
hipError_t hipStreamDestroy(hipStream_t stream)
Destroys the specified stream.
Definition: hip_hcc.cpp:955
+
hipError_t hipStreamSynchronize(hipStream_t stream)
Wait for all commands in stream to complete.
Definition: hip_hcc.cpp:932
+
Definition: hip_hcc.cpp:82
+
Shared mem is banked at 4-bytes intervals and performs best when adjacent threads access data 4 bytes...
Definition: hip_runtime_api.h:77
+
hipError_t
Definition: hip_runtime_api.h:112
+
hipMemcpyKind
Definition: hip_runtime_api.h:101
+
prefer larger L1 cache and smaller shared memory
Definition: hip_runtime_api.h:67
+
hipError_t hipDriverGetVersion(int *driverVersion)
Returns the approximate HIP driver versin.
Definition: hip_hcc.cpp:1608
+
hipError_t hipDeviceSynchronize(void)
Blocks until the default device has completed all preceding requested tasks.
Definition: hip_hcc.cpp:764
+
Definition: hip_runtime_api.h:124
+
hipError_t hipDeviceSetCacheConfig(hipFuncCache cacheConfig)
Set L1/Shared cache partition.
Definition: hip_hcc.cpp:676
+
hipError_t hipMalloc(void **ptr, size_t size)
Definition: hip_hcc.cpp:1268
+
const char * hipGetErrorName(hipError_t hip_error)
Return name of the specified error code in text form.
Definition: hip_hcc.cpp:848
+
hipError_t hipGetLastError(void)
Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess...
Definition: hip_hcc.cpp:829
+
hipError_t hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags)
Make the specified compute stream wait for an event.
Definition: hip_hcc.cpp:915
+
hipError_t hipStreamGetFlags(hipStream_t stream, unsigned int *flags)
Return flags associated with this stream.
Definition: hip_hcc.cpp:979
+
#define hipStreamDefault
Flags that can be used with hipStreamCreateWithFlags.
Definition: hip_runtime_api.h:50
+
hipError_t hipFree(void *ptr)
Definition: hip_hcc.cpp:1513
+
uint32_t z
z
Definition: hip_runtime_api.h:90
+
hipError_t hipDeviceReset(void)
Destroy all resources and reset all state on the default device in the current process.
Definition: hip_hcc.cpp:779
+
Definition: hip_runtime_api.h:74
+
hipError_t hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream=0)
Definition: hip_hcc.cpp:1388
+
The compiler selects a device-specific value for the banking.
Definition: hip_runtime_api.h:76
+
Device-to-Device Copy.
Definition: hip_runtime_api.h:105
+
Definition: hip_hcc.cpp:107
+
Runtime will automatically determine copy-kind based on virtual addresses.
Definition: hip_runtime_api.h:106
+
hipSharedMemConfig
Definition: hip_runtime_api.h:75
+
hipError_t hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
Definition: hip_hcc.cpp:1346
+
hipError_t hipDeviceSetSharedMemConfig(hipSharedMemConfig config)
Set Shared memory bank configuration.
Definition: hip_hcc.cpp:719
+
prefer larger shared memory and smaller L1 cache
Definition: hip_runtime_api.h:66
+
Host-to-Host Copy.
Definition: hip_runtime_api.h:102
+
hipError_t hipHccGetAccelerator(int deviceId, hc::accelerator *acc)
Return hc::acclerator associated with the specified deviceId.
Definition: hip_hcc.cpp:1627
+
Shared mem is banked at 8-byte intervals and performs best when adjacent threads access data 4 bytes ...
Definition: hip_runtime_api.h:78
+
const char * hipGetErrorString(hipError_t hip_error)
Return handy text string message to explain the error which occurred.
Definition: hip_hcc.cpp:875
+
+ + + + diff --git a/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h_source.html b/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h_source.html new file mode 100644 index 0000000000..73911b9082 --- /dev/null +++ b/docs/RuntimeAPI/html/hcc__detail_2hip__vector__types_8h_source.html @@ -0,0 +1,258 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hcc_detail/hip_vector_types.h Source File + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hip_vector_types.h
+
+
+
1 /*
+
2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
+
3 
+
4 Permission is hereby granted, free of charge, to any person obtaining a copy
+
5 of this software and associated documentation files (the "Software"), to deal
+
6 in the Software without restriction, including without limitation the rights
+
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
8 copies of the Software, and to permit persons to whom the Software is
+
9 furnished to do so, subject to the following conditions:
+
10 
+
11 The above copyright notice and this permission notice shall be included in
+
12 all copies or substantial portions of the Software.
+
13 
+
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
20 THE SOFTWARE.
+
21 */
+
22 #if defined (__HCC__) && (__hcc_workweek__ < 16032)
+
23 #error("This version of HIP requires a newer version of HCC.");
+
24 #endif
+
25 
+
26 #include <hc_short_vector.hpp>
+
27 
+
28 // Define char vector types
+
29 typedef hc::short_vector::char1 char1;
+
30 typedef hc::short_vector::char2 char2;
+
31 typedef hc::short_vector::char3 char3;
+
32 typedef hc::short_vector::char4 char4;
+
33 
+
34 // Define uchar vector types
+
35 typedef hc::short_vector::uchar1 uchar1;
+
36 typedef hc::short_vector::uchar2 uchar2;
+
37 typedef hc::short_vector::uchar3 uchar3;
+
38 typedef hc::short_vector::uchar4 uchar4;
+
39 
+
40 // Define short vector types
+
41 typedef hc::short_vector::short1 short1;
+
42 typedef hc::short_vector::short2 short2;
+
43 typedef hc::short_vector::short3 short3;
+
44 typedef hc::short_vector::short4 short4;
+
45 
+
46 // Define ushort vector types
+
47 typedef hc::short_vector::ushort1 ushort1;
+
48 typedef hc::short_vector::ushort2 ushort2;
+
49 typedef hc::short_vector::ushort3 ushort3;
+
50 typedef hc::short_vector::ushort4 ushort4;
+
51 
+
52 // Define int vector types
+
53 typedef hc::short_vector::int1 int1;
+
54 typedef hc::short_vector::int2 int2;
+
55 typedef hc::short_vector::int3 int3;
+
56 typedef hc::short_vector::int4 int4;
+
57 
+
58 // Define uint vector types
+
59 typedef hc::short_vector::uint1 uint1;
+
60 typedef hc::short_vector::uint2 uint2;
+
61 typedef hc::short_vector::uint3 uint3;
+
62 typedef hc::short_vector::uint4 uint4;
+
63 
+
64 // Define long vector types
+
65 typedef hc::short_vector::long1 long1;
+
66 typedef hc::short_vector::long2 long2;
+
67 typedef hc::short_vector::long3 long3;
+
68 typedef hc::short_vector::long4 long4;
+
69 
+
70 // Define ulong vector types
+
71 typedef hc::short_vector::ulong1 ulong1;
+
72 typedef hc::short_vector::ulong2 ulong2;
+
73 typedef hc::short_vector::ulong3 ulong3;
+
74 typedef hc::short_vector::ulong4 ulong4;
+
75 
+
76 // Define longlong vector types
+
77 typedef hc::short_vector::longlong1 longlong1;
+
78 typedef hc::short_vector::longlong2 longlong2;
+
79 typedef hc::short_vector::longlong3 longlong3;
+
80 typedef hc::short_vector::longlong4 longlong4;
+
81 
+
82 // Define ulonglong vector types
+
83 typedef hc::short_vector::ulonglong1 ulonglong1;
+
84 typedef hc::short_vector::ulonglong2 ulonglong2;
+
85 typedef hc::short_vector::ulonglong3 ulonglong3;
+
86 typedef hc::short_vector::ulonglong4 ulonglong4;
+
87 
+
88 // Define float vector types
+
89 typedef hc::short_vector::float1 float1;
+
90 typedef hc::short_vector::float2 float2;
+
91 typedef hc::short_vector::float3 float3;
+
92 typedef hc::short_vector::float4 float4;
+
93 
+
94 // Define double vector types
+
95 typedef hc::short_vector::double1 double1;
+
96 typedef hc::short_vector::double2 double2;
+
97 typedef hc::short_vector::double3 double3;
+
98 typedef hc::short_vector::double4 double4;
+
99 
+
100 // Inline functions for creating vector types from basic types
+
101 inline char1 make_char1(signed char x) { char1 t; t.x = x; return t; };
+
102 inline char2 make_char2(signed char x, signed char y) { char2 t; t.x = x; t.y = y; return t; };
+
103 inline char3 make_char3(signed char x, signed char y, signed char z) { char3 t; t.x = x; t.y = y; t.z = z; return t; };
+
104 inline char4 make_char4(signed char x, signed char y, signed char z, signed char w) { char4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
105 
+
106 inline uchar1 make_uchar1(unsigned char x) { uchar1 t; t.x = x; return t; };
+
107 inline uchar2 make_uchar2(unsigned char x, unsigned char y) { uchar2 t; t.x = x; t.y = y; return t; };
+
108 inline uchar3 make_uchar3(unsigned char x, unsigned char y, unsigned char z) { uchar3 t; t.x = x; t.y = y; t.z = z; return t; };
+
109 inline uchar4 make_uchar4(unsigned char x, unsigned char y, unsigned char z, unsigned char w) { uchar4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
110 
+
111 inline short1 make_short1(short x) { short1 t; t.x = x; return t; };
+
112 inline short2 make_short2(short x, short y) { short2 t; t.x = x; t.y = y; return t; };
+
113 inline short3 make_short3(short x,short y, short z) { short3 t; t.x = x; t.y = y; t.z = z; return t; };
+
114 inline short4 make_short4(short x, short y, short z, short w) { short4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
115 
+
116 inline ushort1 make_ushort1(unsigned short x) { ushort1 t; t.x = x; return t; };
+
117 inline ushort2 make_ushort2(unsigned short x, unsigned short y) { ushort2 t; t.x = x; t.y = y; return t; };
+
118 inline ushort3 make_ushort3(unsigned short x, unsigned short y, unsigned short z) { ushort3 t; t.x = x; t.y = y; t.z = z; return t; };
+
119 inline ushort4 make_ushort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w) { ushort4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
120 
+
121 inline int1 make_int1(int x) { int1 t; t.x = x; return t; };
+
122 inline int2 make_int2(int x, int y) { int2 t; t.x = x; t.y = y; return t; };
+
123 inline int3 make_int3(int x, int y, int z) { int3 t; t.x = x; t.y = y; t.z = z; return t; };
+
124 inline int4 make_int4(int x, int y, int z, int w) { int4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
125 inline uint1 make_uint1(unsigned int x) { uint1 t; t.x = x; return t; };
+
126 inline uint2 make_uint2(unsigned int x, unsigned int y) { uint2 t; t.x = x; t.y = y; return t; };
+
127 inline uint3 make_uint3(unsigned int x, unsigned int y, unsigned int z) { uint3 t; t.x = x; t.y = y; t.z = z; return t; };
+
128 inline uint4 make_uint4(unsigned int x, unsigned int y, unsigned int z, unsigned int w) { uint4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
129 
+
130 inline long1 make_long1(long int x) { long1 t; t.x = x; return t; };
+
131 inline long2 make_long2(long int x, long int y) { long2 t; t.x = x; t.y = y; return t; };
+
132 inline long3 make_long3(long int x, long int y, long int z) { long3 t; t.x = x; t.y = y; t.z = z; return t; };
+
133 inline long4 make_long4(long int x, long int y, long int z, long int w) { long4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
134 
+
135 inline ulong1 make_ulong1(unsigned long int x) { ulong1 t; t.x = x; return t; };
+
136 inline ulong2 make_ulong2(unsigned long int x, unsigned long int y) { ulong2 t; t.x = x; t.y = y; return t; };
+
137 inline ulong3 make_ulong3(unsigned long int x, unsigned long int y, unsigned long int z) { ulong3 t; t.x = x; t.y = y; t.z = z; return t; };
+
138 inline ulong4 make_ulong4(unsigned long int x, unsigned long int y, unsigned long int z, unsigned long int w) { ulong4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
139 
+
140 inline longlong1 make_longlong1(long long int x) { longlong1 t; t.x = x; return t; };
+
141 inline longlong2 make_longlong2(long long int x, long long int y) { longlong2 t; t.x = x; t.y = y; return t; };
+
142 inline longlong3 make_longlong3(long long int x, long long int y, long long int z) { longlong3 t; t.x = x; t.y = y; t.z = z; return t; };
+
143 inline longlong4 make_longlong4(long long int x, long long int y, long long int z, long long int w) { longlong4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
144 
+
145 inline ulonglong1 make_ulonglong1(unsigned long long int x) { ulonglong1 t; t.x = x; return t; };
+
146 inline ulonglong2 make_ulonglong2(unsigned long long int x, unsigned long long int y) { ulonglong2 t; t.x = x; t.y = y; return t; };
+
147 inline ulonglong3 make_ulonglong3(unsigned long long int x, unsigned long long int y, unsigned long long int z) { ulonglong3 t; t.x = x; t.y = y; t.z = z; return t; };
+
148 inline ulonglong4 make_ulonglong4(unsigned long long int x, unsigned long long int y, unsigned long long int z, unsigned long long int w) { ulonglong4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
149 
+
150 inline float1 make_float1(float x) { float1 t; t.x = x; return t; };
+
151 inline float2 make_float2(float x, float y) { float2 t; t.x = x; t.y = y; return t; };
+
152 inline float3 make_float3(float x, float y, float z) { float3 t; t.x = x; t.y = y; t.z = z; return t; };
+
153 inline float4 make_float4(float x, float y, float z, float w) { float4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
154 
+
155 inline double1 make_double1(double x) { double1 t; t.x = x; return t; };
+
156 inline double2 make_double2(double x, double y) { double2 t; t.x = x; t.y = y; return t; };
+
157 inline double3 make_double3(double x, double y, double z) { double3 t; t.x = x; t.y = y; t.z = z; return t; };
+
158 inline double4 make_double4(double x, double y, double z, double w) { double4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t; };
+
+ + + + diff --git a/docs/RuntimeAPI/html/hierarchy.html b/docs/RuntimeAPI/html/hierarchy.html new file mode 100644 index 0000000000..f10211f59f --- /dev/null +++ b/docs/RuntimeAPI/html/hierarchy.html @@ -0,0 +1,112 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
+ + + + diff --git a/docs/RuntimeAPI/html/hip__common_8h_source.html b/docs/RuntimeAPI/html/hip__common_8h_source.html new file mode 100644 index 0000000000..aa62aa5504 --- /dev/null +++ b/docs/RuntimeAPI/html/hip__common_8h_source.html @@ -0,0 +1,185 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hip_common.h Source File + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hip_common.h
+
+
+
1 /*
+
2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
+
3 
+
4 Permission is hereby granted, free of charge, to any person obtaining a copy
+
5 of this software and associated documentation files (the "Software"), to deal
+
6 in the Software without restriction, including without limitation the rights
+
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
8 copies of the Software, and to permit persons to whom the Software is
+
9 furnished to do so, subject to the following conditions:
+
10 
+
11 The above copyright notice and this permission notice shall be included in
+
12 all copies or substantial portions of the Software.
+
13 
+
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
20 THE SOFTWARE.
+
21 */
+
22 
+
23 #pragma once
+
24 
+
25 // Disable use of grid_launch feature in HCC compiler.
+
26 //#define DISABLE_GRID_LAUNCH
+
27 
+
28 // Common code included at start of every hip file.
+
29 // Auto enable __HIP_PLATFORM_HCC__ if compiling with HCC
+
30 // Other compiler (GCC,ICC,etc) need to set one of these macros explicitly
+
31 #if defined(__HCC__)
+
32 #define __HIP_PLATFORM_HCC__
+
33 #define __HIPCC__
+
34 
+
35 # if defined __HCC_ACCELERATOR__
+
36 # define __HIP_DEVICE_COMPILE__ 1
+
37 # endif
+
38 #endif
+
39 
+
40 // Auto enable __HIP_PLATFORM_NVCC__ if compiling with NVCC
+
41 #if defined(__NVCC__)
+
42 #define __HIP_PLATFORM_NVCC__
+
43 # ifdef __CUDACC__
+
44 # define __HIPCC__
+
45 # endif
+
46 
+
47 # ifdef __CUDA_ARCH__
+
48 # define __HIP_DEVICE_COMPILE__ 1
+
49 # endif
+
50 
+
51 #endif
+
52 
+
53 
+
54 
+
55 
+
56 #if __HIP_DEVICE_COMPILE__ == 0
+
57 // 32-bit Atomics
+
58 #define __HIP_ARCH_HAS_GLOBAL_INT32_ATOMICS__ (0)
+
59 #define __HIP_ARCH_HAS_GLOBAL_FLOAT_ATOMIC_EXCH__ (0)
+
60 #define __HIP_ARCH_HAS_SHARED_INT32_ATOMICS__ (0)
+
61 #define __HIP_ARCH_HAS_SHARED_FLOAT_ATOMIC_EXCH__ (0)
+
62 #define __HIP_ARCH_HAS_FLOAT_ATOMIC_ADD__ (0)
+
63 
+
64 // 64-bit Atomics
+
65 #define __HIP_ARCH_HAS_GLOBAL_INT64_ATOMICS__ (0)
+
66 #define __HIP_ARCH_HAS_SHARED_INT64_ATOMICS__ (0)
+
67 
+
68 // Doubles
+
69 #define __HIP_ARCH_HAS_DOUBLES__ (0)
+
70 
+
71 // Warp cross-lane operations
+
72 #define __HIP_ARCH_HAS_WARP_VOTE__ (0)
+
73 #define __HIP_ARCH_HAS_WARP_BALLOT__ (0)
+
74 #define __HIP_ARCH_HAS_WARP_SHUFFLE__ (0)
+
75 #define __HIP_ARCH_HAS_WARP_FUNNEL_SHIFT__ (0)
+
76 
+
77 // Sync
+
78 #define __HIP_ARCH_HAS_THREAD_FENCE_SYSTEM__ (0)
+
79 #define __HIP_ARCH_HAS_SYNC_THREAD_EXT__ (0)
+
80 
+
81 // Misc
+
82 #define __HIP_ARCH_HAS_SURFACE_FUNCS__ (0)
+
83 #define __HIP_ARCH_HAS_3DGRID__ (0)
+
84 #define __HIP_ARCH_HAS_DYNAMIC_PARALLEL__ (0)
+
85 #endif
+
+ + + + diff --git a/docs/RuntimeAPI/html/hip__hcc_8cpp.html b/docs/RuntimeAPI/html/hip__hcc_8cpp.html new file mode 100644 index 0000000000..733d1a79a7 --- /dev/null +++ b/docs/RuntimeAPI/html/hip__hcc_8cpp.html @@ -0,0 +1,474 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/src/hip_hcc.cpp File Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
hip_hcc.cpp File Reference
+
+
+
#include <assert.h>
+#include <stdint.h>
+#include <iostream>
+#include <list>
+#include <sys/types.h>
+#include <unistd.h>
+#include <hc.hpp>
+#include <hc_am.hpp>
+#include "hip_runtime.h"
+#include "hsa_ext_amd.h"
+
+ + + + + + + +

+Classes

struct  ihipStream_t
 
struct  ihipEvent_t
 
struct  ihipDevice_t
 
+ + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define USE_PINNED_HOST   (__hcc_workweek__ >= 1601)
 
+#define INLINE   static inline
 
+#define TRACE_API   0x1 /* trace API calls and return values */
 
+#define TRACE_SYNC   0x2 /* trace synchronization pieces */
 
+#define TRACE_MEM   0x4 /* trace memory allocation / deallocation */
 
#define tprintf(trace_level,...)
 
+#define DeviceErrorCheck(x)   if (x != HSA_STATUS_SUCCESS) { return hipErrorInvalidDevice; }
 
+#define ErrorCheck(x)   error_check(x, __LINE__, __FILE__)
 
#define ihipLogStatus(_hip_status)
 
#define READ_ENV_I(_build, _ENV_VAR, _ENV_VAR2, _description)
 
+ + + + + +

+Enumerations

enum  ihipCommand_t { ihipCommandKernel, +ihipCommandData + }
 
enum  hipEventStatus_t { hipEventStatusUnitialized = 0, +hipEventStatusCreated = 1, +hipEventStatusRecording = 2, +hipEventStatusRecorded = 3 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+void error_check (hsa_status_t hsa_error_code, int line_num, std::string str)
 
+hsa_status_t get_region_info (hsa_region_t region, void *data)
 
+void ihipReadEnv_I (int *var_ptr, const char *var_name1, const char *var_name2, const char *description)
 
+void ihipInit ()
 
+INLINE bool ihipIsValidDevice (unsigned deviceIndex)
 
+INLINE ihipDevice_tihipGetTlsDefaultDevice ()
 
+INLINE ihipDevice_tihipGetDevice (int deviceId)
 
+void ihipWaitNullStream (ihipDevice_t *device)
 
+hipStream_t ihipSyncAndResolveStream (hipStream_t stream)
 
+bool ihipCheckCommandSwitchSync (hipStream_t stream, ihipCommand_t new_command, hc::completion_future *marker)
 
+hc::accelerator_view * ihipLaunchKernel (hipStream_t stream)
 
hipError_t hipGetDevice (int *device)
 Return the default device id for the calling host thread. More...
 
hipError_t hipGetDeviceCount (int *count)
 Return number of compute-capable devices. More...
 
hipError_t hipDeviceSetCacheConfig (hipFuncCache cacheConfig)
 Set L1/Shared cache partition. More...
 
hipError_t hipDeviceGetCacheConfig (hipFuncCache *cacheConfig)
 Set Cache configuration for a specific function. More...
 
hipError_t hipFuncSetCacheConfig (hipFuncCache cacheConfig)
 Set Cache configuration for a specific function. More...
 
hipError_t hipDeviceSetSharedMemConfig (hipSharedMemConfig config)
 Set Shared memory bank configuration. More...
 
hipError_t hipDeviceGetSharedMemConfig (hipSharedMemConfig *pConfig)
 Get Shared memory bank configuration. More...
 
hipError_t hipSetDevice (int device)
 Set default device to be used for subsequent hip API calls from this thread. More...
 
hipError_t hipDeviceSynchronize (void)
 Blocks until the default device has completed all preceding requested tasks. More...
 
hipError_t hipDeviceReset (void)
 Destroy all resources and reset all state on the default device in the current process. More...
 
hipError_t hipDeviceGetProperties (hipDeviceProp_t *props, int device)
 Returns device properties. More...
 
hipError_t hipGetLastError ()
 Return last error returned by any HIP runtime API call and resets the stored error code to hipSuccess. More...
 
+hipError_t hipPeakAtLastError ()
 
const char * hipGetErrorName (hipError_t hip_error)
 Return name of the specified error code in text form. More...
 
const char * hipGetErrorString (hipError_t hip_error)
 Return handy text string message to explain the error which occurred. More...
 
hipError_t hipStreamCreateWithFlags (hipStream_t *stream, unsigned int flags)
 Create an asynchronous stream. More...
 
hipError_t hipStreamWaitEvent (hipStream_t stream, hipEvent_t event, unsigned int flags)
 Make the specified compute stream wait for an event. More...
 
hipError_t hipStreamSynchronize (hipStream_t stream)
 Wait for all commands in stream to complete. More...
 
hipError_t hipStreamDestroy (hipStream_t stream)
 Destroys the specified stream. More...
 
hipError_t hipStreamGetFlags (hipStream_t stream, unsigned int *flags)
 Return flags associated with this stream. More...
 
hipError_t hipEventCreateWithFlags (hipEvent_t *event, unsigned flags)
 Create an event with the specified flags. More...
 
hipError_t hipEventRecord (hipEvent_t event, hipStream_t stream)
 Record an event in the specified stream. More...
 
hipError_t hipEventDestroy (hipEvent_t event)
 Destroy the specified event. More...
 
hipError_t hipEventSynchronize (hipEvent_t event)
 : Wait for an event to complete. More...
 
+void ihipSetTs (hipEvent_t e)
 
hipError_t hipEventElapsedTime (float *ms, hipEvent_t start, hipEvent_t stop)
 Return the elapsed time between two events. More...
 
hipError_t hipEventQuery (hipEvent_t event)
 Query event status. More...
 
+template<typename T >
hc::completion_future ihipMemcpyKernel (hipStream_t stream, T *c, const T *a, size_t sizeBytes)
 
+template<typename T >
hc::completion_future ihipMemsetKernel (hipStream_t stream, T *ptr, T val, size_t sizeBytes)
 
hipError_t hipMalloc (void **ptr, size_t sizeBytes)
 
hipError_t hipMallocHost (void **ptr, size_t sizeBytes)
 
+hipError_t hipMemcpyToSymbol (const char *symbolName, const void *src, size_t count, size_t offset, hipMemcpyKind kind)
 
hipError_t hipMemcpy (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind)
 
hipError_t hipMemcpyAsync (void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream)
 
+hipError_t hipMemsetAsync (void *dst, int value, size_t sizeBytes, hipStream_t stream)
 
+hipError_t hipMemset (void *dst, int value, size_t sizeBytes)
 
+hipError_t hipMemGetInfo (size_t *free, size_t *total)
 
hipError_t hipFree (void *ptr)
 
hipError_t hipFreeHost (void *ptr)
 
hipError_t hipDeviceCanAccessPeer (int *canAccessPeer, int device, int peerDevice)
 Determine if a device can access a peer's memory. More...
 
hipError_t hipDeviceDisablePeerAccess (int peerDevice)
 
hipError_t hipDeviceEnablePeerAccess (int peerDevice, unsigned int flags)
 
+hipError_t hipMemcpyPeer (void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes)
 
hipError_t hipMemcpyPeerAsync (void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream)
 
hipError_t hipDriverGetVersion (int *driverVersion)
 Returns the approximate HIP driver versin. More...
 
hipError_t hipHccGetAccelerator (int deviceId, hc::accelerator *acc)
 Return hc::acclerator associated with the specified deviceId. More...
 
hipError_t hipHccGetAcceleratorView (hipStream_t stream, hc::accelerator_view **av)
 Return hc::acclerator_view associated with the specified stream. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Variables

+int warpSize = 64
 
+int HIP_PRINT_ENV = 0
 Print all HIP-related environment variables.
 
+int HIP_TRACE_API = 0
 Trace HIP APIs.
 
+int HIP_LAUNCH_BLOCKING = 0
 Make all HIP APIs host-synchronous.
 
+const hipStream_t hipStreamNull = 0x0
 
+thread_local hipError_t tls_lastHipError = hipSuccess
 
+thread_local int tls_defaultDevice = 0
 
+std::once_flag hip_initialized
 
+std::vector< ihipDevice_tg_devices
 
+

Detailed Description

+

Contains definitions for functions that are large enough that we don't want to inline them everywhere. This file is compiled and linked into apps running HIP / HCC path.

+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define ihipLogStatus( _hip_status)
+
+Value:
({\
+
tls_lastHipError = _hip_status;\
+
\
+
if (HIP_TRACE_API & TRACE_API) {\
+
fprintf(stderr, "hiptrace1: %-30s ret=%2d\n", __func__, _hip_status);\
+
}\
+
_hip_status;\
+
})
+
int HIP_TRACE_API
Trace HIP APIs.
Definition: hip_hcc.cpp:57
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define READ_ENV_I( _build,
 _ENV_VAR,
 _ENV_VAR2,
 _description 
)
+
+Value:
if (_build == release) {\
+
ihipReadEnv_I(&_ENV_VAR, #_ENV_VAR, #_ENV_VAR2, _description);\
+
};
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define tprintf( trace_level,
 ... 
)
+
+Value:
{\
+
if (HIP_TRACE_API & trace_level) {\
+
fprintf (stderr, "hiptrace%d: ", trace_level); \
+
fprintf (stderr, __VA_ARGS__);\
+
}\
+
}
+
int HIP_TRACE_API
Trace HIP APIs.
Definition: hip_hcc.cpp:57
+
+
+
+
+ + + + diff --git a/docs/RuntimeAPI/html/hip__runtime_8h_source.html b/docs/RuntimeAPI/html/hip__runtime_8h_source.html new file mode 100644 index 0000000000..d79618630c --- /dev/null +++ b/docs/RuntimeAPI/html/hip__runtime_8h_source.html @@ -0,0 +1,150 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hip_runtime.h Source File + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hip_runtime.h
+
+
+
1 /*
+
2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
+
3 
+
4 Permission is hereby granted, free of charge, to any person obtaining a copy
+
5 of this software and associated documentation files (the "Software"), to deal
+
6 in the Software without restriction, including without limitation the rights
+
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
8 copies of the Software, and to permit persons to whom the Software is
+
9 furnished to do so, subject to the following conditions:
+
10 
+
11 The above copyright notice and this permission notice shall be included in
+
12 all copies or substantial portions of the Software.
+
13 
+
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
20 THE SOFTWARE.
+
21 */
+
22 
+
28 //
+
32 //
+
35 
+
36 #pragma once
+
37 
+
38 // Some standard header files, these are included by hc.hpp and so want to make them avail on both
+
39 // paths to provide a consistent include env and avoid "missing symbol" errors that only appears
+
40 // on NVCC path:
+
41 #include <stdint.h>
+
42 #include <stdio.h>
+
43 #include <stdlib.h>
+
44 #include <assert.h>
+
45 
+
46 #include <hip_common.h>
+
47 
+
48 #if defined(__HIP_PLATFORM_HCC__) and not defined (__HIP_PLATFORM_NVCC__)
+
49 #include <hcc_detail/hip_runtime.h>
+
50 #elif defined(__HIP_PLATFORM_NVCC__) and not defined (__HIP_PLATFORM_HCC__)
+
51 #include <nvcc_detail/hip_runtime.h>
+
52 #else
+
53 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
+
54 #endif
+
55 
+
56 
+
57 #include <hip_runtime_api.h>
+
58 #include <hip_vector_types.h>
+
59 
+ +
+ + + + diff --git a/docs/RuntimeAPI/html/hip__runtime__api_8h_source.html b/docs/RuntimeAPI/html/hip__runtime__api_8h_source.html new file mode 100644 index 0000000000..66d3cc5cfa --- /dev/null +++ b/docs/RuntimeAPI/html/hip__runtime__api_8h_source.html @@ -0,0 +1,268 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hip_runtime_api.h Source File + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hip_runtime_api.h
+
+
+
1 /*
+
2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
+
3 
+
4 Permission is hereby granted, free of charge, to any person obtaining a copy
+
5 of this software and associated documentation files (the "Software"), to deal
+
6 in the Software without restriction, including without limitation the rights
+
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
8 copies of the Software, and to permit persons to whom the Software is
+
9 furnished to do so, subject to the following conditions:
+
10 
+
11 The above copyright notice and this permission notice shall be included in
+
12 all copies or substantial portions of the Software.
+
13 
+
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
20 THE SOFTWARE.
+
21 */
+
29 #pragma once
+
30 
+
31 
+
32 #include <string.h> // for getDeviceProp
+
33 #include <hip_common.h>
+
34 
+
35 typedef struct {
+
36  // 32-bit Atomics:
+
37  unsigned hasGlobalInt32Atomics : 1;
+
38  unsigned hasGlobalFloatAtomicExch : 1;
+
39  unsigned hasSharedInt32Atomics : 1;
+
40  unsigned hasSharedFloatAtomicExch : 1;
+
41  unsigned hasFloatAtomicAdd : 1;
+
42 
+
43  // 64-bit Atomics:
+
44  unsigned hasGlobalInt64Atomics : 1;
+
45  unsigned hasSharedInt64Atomics : 1;
+
46 
+
47  // Doubles
+
48  unsigned hasDoubles : 1;
+
49 
+
50  // Warp cross-lane operations:
+
51  unsigned hasWarpVote : 1;
+
52  unsigned hasWarpBallot : 1;
+
53  unsigned hasWarpShuffle : 1;
+
54  unsigned hasFunnelShift : 1;
+
55 
+
56  // Sync
+
57  unsigned hasThreadFenceSystem : 1;
+
58  unsigned hasSyncThreadsExt : 1;
+
59 
+
60  // Misc
+
61  unsigned hasSurfaceFuncs : 1;
+
62  unsigned has3dGrid : 1;
+
63  unsigned hasDynamicParallelism : 1;
+ +
65 
+
66 
+
67 //---
+
68 // Common headers for both NVCC and HCC paths:
+
69 
+
74 typedef struct hipDeviceProp_t {
+
75  char name[256];
+
76  size_t totalGlobalMem;
+ +
78  int regsPerBlock ;
+
79  int warpSize ;
+ +
81  int maxThreadsDim[3];
+
82  int maxGridSize[3];
+
83  int clockRate ;
+
84 
+
85  size_t totalConstMem;
+
86  int major ;
+
87  int minor;
+ + + + +
92 
+ +
94 
+ + +
97 
+
98 
+
99 // hack to get these to show up in Doxygen:
+
107 /*
+
108  * @brief hipError_t
+
109  * @enum
+
110  * @ingroup Enumerations
+
111  */
+
112 typedef enum hipError_t {
+ + + + + + + + + + +
123 
+ + +
126 } hipError_t;
+
127 
+
128 
+
129 
+
134 #if defined(__HIP_PLATFORM_HCC__) and not defined (__HIP_PLATFORM_NVCC__)
+
135 #include "hcc_detail/hip_runtime_api.h"
+
136 #elif defined(__HIP_PLATFORM_NVCC__) and not defined (__HIP_PLATFORM_HCC__)
+
137 #include "nvcc_detail/hip_runtime_api.h"
+
138 #else
+
139 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
+
140 #endif
+
141 
+
142 
+
150 #ifdef __cplusplus
+
151 template<class T>
+
152 static inline hipError_t hipMalloc ( T** devPtr, size_t size)
+
153 {
+
154  return hipMalloc((void**)devPtr, size);
+
155 }
+
156 
+
157 template<class T>
+
158 static inline hipError_t hipMallocHost ( T** ptr, size_t size)
+
159 {
+
160  return hipMallocHost((void**)ptr, size);
+
161 }
+
162 #endif
+
Call to cudaGetDeviceCount returned 0 devices.
Definition: hip_runtime_api.h:121
+
size_t totalConstMem
Size of shared memory region (in bytes)
Definition: hip_runtime_api.h:85
+
Unknown symbol.
Definition: hip_runtime_api.h:116
+
Successful completion.
Definition: hip_runtime_api.h:113
+
int minor
Minor compute capability. On HCC, this is an approximation and features may differ from CUDA CC...
Definition: hip_runtime_api.h:87
+
int regsPerBlock
registers per block
Definition: hip_runtime_api.h:78
+
DeviceID must be in range 0...#compute-devices.
Definition: hip_runtime_api.h:120
+
int clockRate
max clock frequency of the multiProcessors, in khz.
Definition: hip_runtime_api.h:83
+
Out of resources error.
Definition: hip_runtime_api.h:117
+
Unknown error.
Definition: hip_runtime_api.h:124
+
int maxThreadsPerBlock
max work items per work group or workgroup max size
Definition: hip_runtime_api.h:80
+
size_t sharedMemPerBlock
Size of shared memory region (in bytes)
Definition: hip_runtime_api.h:77
+
int maxThreadsPerMultiProcessor
Maximum resident threads per multi-processor.
Definition: hip_runtime_api.h:90
+
int l2CacheSize
L2 cache size.
Definition: hip_runtime_api.h:89
+
Resource handle (hipEvent_t or hipStream_t) invalid.
Definition: hip_runtime_api.h:119
+
Memory allocation error.
Definition: hip_runtime_api.h:114
+
hipDeviceArch_t arch
Architectural feature flags. New for HIP.
Definition: hip_runtime_api.h:95
+
int maxGridSize[3]
max grid dimensions (XYZ)
Definition: hip_runtime_api.h:82
+
int computeMode
Compute mode.
Definition: hip_runtime_api.h:91
+
hipError_t hipMallocHost(void **ptr, size_t size)
Definition: hip_hcc.cpp:1289
+
Marker that more error codes are needed.
Definition: hip_runtime_api.h:125
+
int major
Major compute capability. On HCC, this is an approximation and features may differ from CUDA CC...
Definition: hip_runtime_api.h:86
+
hipError_t
Definition: hip_runtime_api.h:112
+
int clockInstructionRate
Frequency in khz of the timer used by the device-side "clock*" instructions. New for HIP...
Definition: hip_runtime_api.h:93
+
Memory free error.
Definition: hip_runtime_api.h:115
+
int warpSize
warp size
Definition: hip_runtime_api.h:79
+
size_t totalGlobalMem
Size of global memory region (in bytes)
Definition: hip_runtime_api.h:76
+
hipError_t hipMalloc(void **ptr, size_t size)
Definition: hip_hcc.cpp:1268
+
int maxThreadsDim[3]
max number of threads in each dimension (XYZ) of a block
Definition: hip_runtime_api.h:81
+
One or more of the paramters passed to the API call is NULL or not in an acceptable range...
Definition: hip_runtime_api.h:118
+
Definition: hip_runtime_api.h:74
+
indicates that asynchronous operations enqueued earlier are not ready. This is not actually an error...
Definition: hip_runtime_api.h:122
+
char name[256]
Device name.
Definition: hip_runtime_api.h:75
+
Definition: hip_runtime_api.h:35
+
int multiProcessorCount
number of multi-processors (compute units)
Definition: hip_runtime_api.h:88
+
+ + + + diff --git a/docs/RuntimeAPI/html/hip__texture_8h_source.html b/docs/RuntimeAPI/html/hip__texture_8h_source.html new file mode 100644 index 0000000000..9888a5c9a5 --- /dev/null +++ b/docs/RuntimeAPI/html/hip__texture_8h_source.html @@ -0,0 +1,241 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hcc_detail/hip_texture.h Source File + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hip_texture.h
+
+
+
1 /*
+
2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
+
3 
+
4 Permission is hereby granted, free of charge, to any person obtaining a copy
+
5 of this software and associated documentation files (the "Software"), to deal
+
6 in the Software without restriction, including without limitation the rights
+
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
8 copies of the Software, and to permit persons to whom the Software is
+
9 furnished to do so, subject to the following conditions:
+
10 
+
11 The above copyright notice and this permission notice shall be included in
+
12 all copies or substantial portions of the Software.
+
13 
+
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
20 THE SOFTWARE.
+
21 */
+
22 #pragma once
+
23 
+
28 #include <limits.h>
+
29 
+
30 #include <hip_runtime.h>
+
31 
+
32 //----
+
33 //Texture - TODO - likely need to move this to a separate file only included with kernel compilation.
+
34 #define hipTextureType1D 1
+
35 
+
36 typedef struct hipChannelFormatDesc {
+
37  // TODO - this has 4-5 well-defined fields, we could just copy...
+
38  int _dummy;
+ +
40 
+
41 typedef enum hipTextureReadMode
+
42 {
+
43  hipReadModeElementType,
+
44 } hipTextureReadMode;
+
46 
+
47 typedef enum hipTextureFilterMode
+
48 {
+
49  hipFilterModePoint,
+
50 } hipTextureFilterMode;
+
52 
+ +
54  hipTextureFilterMode filterMode;
+
55  bool normalized;
+
56  hipChannelFormatDesc channelDesc;
+
57 };
+
58 
+
59 template <class T, int texType=hipTextureType1D, enum hipTextureReadMode=hipReadModeElementType>
+
60 struct texture : public textureReference {
+
61 
+
62  const T * _dataPtr; // pointer to underlying data.
+
63 
+
64  //texture() : filterMode(hipFilterModePoint), normalized(false), _dataPtr(NULL) {};
+
65 };
+
66 
+
67 
+
68 
+
69 
+
70 #define tex1Dfetch(_tex, _addr) (_tex._dataPtr[_addr])
+
71 
+
72 
+
73 
+
74 
+
82 // These are C++ APIs - maybe belong in separate file.
+
106 // C API:
+
107 #if 0
+
108 hipChannelFormatDesc hipBindTexture(size_t *offset, struct textureReference *tex, const void *devPtr, const struct hipChannelFormatDesc *desc, size_t size=UINT_MAX)
+
109 {
+
110  tex->_dataPtr = devPtr;
+
111 }
+
112 #endif
+
113 
+
114 /*
+
115  * @brief hipChannelFormatDesc
+
116  **/
+
117 // TODO
+
118 template <class T>
+
119 hipChannelFormatDesc hipCreateChannelDesc()
+
120 {
+ +
122  return desc;
+
123 }
+
124 
+
125 /*
+
126  * @brief hipBindTexture
+
127  **/
+
128 // TODO-doc
+
129 template <class T, int dim, enum hipTextureReadMode readMode>
+
130 hipError_t hipBindTexture(size_t *offset,
+
131  struct texture<T, dim, readMode> &tex,
+
132  const void *devPtr,
+
133  const struct hipChannelFormatDesc *desc,
+
134  size_t size=UINT_MAX)
+
135 {
+
136  tex._dataPtr = static_cast<const T*>(devPtr);
+
137 
+
138  return hipSuccess;
+
139 }
+
140 
+
141 
+
142 /*
+
143  * @brief hipBindTexture
+
144  **/
+
145 // TODO-doc
+
146 template <class T, int dim, enum hipTextureReadMode readMode>
+
147 hipError_t hipBindTexture(size_t *offset,
+
148  struct texture<T, dim, readMode> &tex,
+
149  const void *devPtr,
+
150  size_t size=UINT_MAX)
+
151 {
+
152  return hipBindTexture(offset, tex, devPtr, &tex.channelDesc, size);
+
153 }
+
154 
+
155 
+
156 /*
+
157  * @brief hipUnbindTexture
+
158  **/
+
159 // TODO-doc
+
160 template <class T, int dim, enum hipTextureReadMode readMode>
+
161 hipError_t hipUnbindTexture(struct texture<T, dim, readMode> *tex)
+
162 {
+
163  tex->_dataPtr = NULL;
+
164 
+
165  return hipSuccess;
+
166 }
+
167 
+
168 
+
169 
+
170 // doxygen end Texture
+
176 // End doxygen API:
+
Successful completion.
Definition: hip_runtime_api.h:113
+
Definition: hip_texture.h:53
+ +
hipError_t
Definition: hip_runtime_api.h:112
+
Definition: hip_texture.h:36
+
Definition: hip_texture.h:60
+
+ + + + diff --git a/docs/RuntimeAPI/html/hip__vector__types_8h_source.html b/docs/RuntimeAPI/html/hip__vector__types_8h_source.html new file mode 100644 index 0000000000..15eba01435 --- /dev/null +++ b/docs/RuntimeAPI/html/hip__vector__types_8h_source.html @@ -0,0 +1,134 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hip_vector_types.h Source File + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hip_vector_types.h
+
+
+
1 /*
+
2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
+
3 
+
4 Permission is hereby granted, free of charge, to any person obtaining a copy
+
5 of this software and associated documentation files (the "Software"), to deal
+
6 in the Software without restriction, including without limitation the rights
+
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
8 copies of the Software, and to permit persons to whom the Software is
+
9 furnished to do so, subject to the following conditions:
+
10 
+
11 The above copyright notice and this permission notice shall be included in
+
12 all copies or substantial portions of the Software.
+
13 
+
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
20 THE SOFTWARE.
+
21 */
+
23 
+
24 #pragma once
+
25 
+
26 #include <hip_common.h>
+
27 
+
28 
+
29 #if defined(__HIP_PLATFORM_HCC__) and not defined (__HIP_PLATFORM_NVCC__)
+
30 #include <hcc_detail/hip_vector_types.h>
+
31 #elif defined(__HIP_PLATFORM_NVCC__) and not defined (__HIP_PLATFORM_HCC__)
+
32 #include <vector_types.h>
+
33 #else
+
34 #error("Must define exactly one of __HIP_PLATFORM_HCC__ or __HIP_PLATFORM_NVCC__");
+
35 #endif
+
+ + + + diff --git a/docs/RuntimeAPI/html/host__defines_8h_source.html b/docs/RuntimeAPI/html/host__defines_8h_source.html new file mode 100644 index 0000000000..c10f6c5202 --- /dev/null +++ b/docs/RuntimeAPI/html/host__defines_8h_source.html @@ -0,0 +1,158 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hcc_detail/host_defines.h Source File + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
host_defines.h
+
+
+
1 /*
+
2 Copyright (c) 2015-2016 Advanced Micro Devices, Inc. All rights reserved.
+
3 
+
4 Permission is hereby granted, free of charge, to any person obtaining a copy
+
5 of this software and associated documentation files (the "Software"), to deal
+
6 in the Software without restriction, including without limitation the rights
+
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
8 copies of the Software, and to permit persons to whom the Software is
+
9 furnished to do so, subject to the following conditions:
+
10 
+
11 The above copyright notice and this permission notice shall be included in
+
12 all copies or substantial portions of the Software.
+
13 
+
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+
20 THE SOFTWARE.
+
21 */
+
22 #ifdef __HCC__
+
23 
+
26 #define __host__ __attribute__((cpu))
+
27 #define __device__ __attribute__((hc))
+
28 
+
29 #ifndef DISABLE_GRID_LAUNCH
+
30 #define __global__ __attribute__((hc_grid_launch))
+
31 #else
+
32 #define __global__
+
33 #endif
+
34 
+
35 #define __noinline__ __attribute__((noinline))
+
36 #define __forceinline__ __attribute__((always_inline))
+
37 
+
38 
+
39 
+
40 /*
+
41  * Variable Type Qualifiers:
+
42  */
+
43 // _restrict is supported by the compiler
+
44 #define __shared__ tile_static
+
45 #define __constant__ __attribute__((address_space(2)))
+
46 
+
47 #else
+
48 // Non-HCC compiler
+
52 #define __host__
+
53 #define __device__
+
54 
+
55 #define __global__
+
56 
+
57 #define __noinline__
+
58 #define __forceinline__
+
59 
+
60 #define __shared__
+
61 #define __constant__
+
62 
+
63 #endif
+
+ + + + diff --git a/docs/RuntimeAPI/html/index.html b/docs/RuntimeAPI/html/index.html new file mode 100644 index 0000000000..7fc6c60b4d --- /dev/null +++ b/docs/RuntimeAPI/html/index.html @@ -0,0 +1,99 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Heterogeneous-computing Interface for Portability (HIP) + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Heterogeneous-computing Interface for Portability (HIP)
+
+
+

The HIP interface makes it very easy to port existing CUDA apps to run on AMD GPUs, or to develop new apps that can run on either CUDA or AMD GPUs from a common source base.

+
    +
  • HIP is very thin and has little or no performance impact over coding directly in CUDA NVCC or Kalmar HC mode.
  • +
  • HIP allows developers to use the "best" development environment and tools on each target platform.
  • +
  • HIP allows coding in a single-source C++ programming language including features such as templates, C++11 lambdas,and more.
  • +
  • "hipify" script automatically converts source from CUDA to HIP.
  • +
  • Developers can specialize for CUDA or Kalmar to tune for performance or handle tricky cases with #ifdef.
  • +
  • See the HIP API.
  • +
+
+ + + + diff --git a/docs/RuntimeAPI/html/jquery.js b/docs/RuntimeAPI/html/jquery.js new file mode 100644 index 0000000000..c197801c5d --- /dev/null +++ b/docs/RuntimeAPI/html/jquery.js @@ -0,0 +1,31 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); diff --git a/docs/RuntimeAPI/html/modules.html b/docs/RuntimeAPI/html/modules.html new file mode 100644 index 0000000000..d2d046519d --- /dev/null +++ b/docs/RuntimeAPI/html/modules.html @@ -0,0 +1,107 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Modules + + + + + + + + + +
+
+
+ + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+ + + + + + + + + + +
+ +
+ +
+
+
Modules
+
+ + + + + diff --git a/docs/RuntimeAPI/html/nav_f.png b/docs/RuntimeAPI/html/nav_f.png new file mode 100644 index 0000000000..72a58a529e Binary files /dev/null and b/docs/RuntimeAPI/html/nav_f.png differ diff --git a/docs/RuntimeAPI/html/nav_g.png b/docs/RuntimeAPI/html/nav_g.png new file mode 100644 index 0000000000..2093a237a9 Binary files /dev/null and b/docs/RuntimeAPI/html/nav_g.png differ diff --git a/docs/RuntimeAPI/html/nav_h.png b/docs/RuntimeAPI/html/nav_h.png new file mode 100644 index 0000000000..33389b101d Binary files /dev/null and b/docs/RuntimeAPI/html/nav_h.png differ diff --git a/docs/RuntimeAPI/html/open.png b/docs/RuntimeAPI/html/open.png new file mode 100644 index 0000000000..30f75c7efe Binary files /dev/null and b/docs/RuntimeAPI/html/open.png differ diff --git a/docs/RuntimeAPI/html/pages.html b/docs/RuntimeAPI/html/pages.html new file mode 100644 index 0000000000..1ac5403b3f --- /dev/null +++ b/docs/RuntimeAPI/html/pages.html @@ -0,0 +1,96 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Related Pages + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Related Pages
+
+
+
Here is a list of all related documentation pages:
+
+ + + + diff --git a/docs/RuntimeAPI/html/search/all_0.html b/docs/RuntimeAPI/html/search/all_0.html new file mode 100644 index 0000000000..17b6da85df --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_0.js b/docs/RuntimeAPI/html/search/all_0.js new file mode 100644 index 0000000000..2fba32867b --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['arch',['arch',['../structhipDeviceProp__t.html#afc58158e44bef6ad26f2be401434b049',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_1.html b/docs/RuntimeAPI/html/search/all_1.html new file mode 100644 index 0000000000..e2906449f2 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_1.js b/docs/RuntimeAPI/html/search/all_1.js new file mode 100644 index 0000000000..8d42650d49 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bug_20list',['Bug List',['../bug.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_10.html b/docs/RuntimeAPI/html/search/all_10.html new file mode 100644 index 0000000000..c55c8367e4 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_10.js b/docs/RuntimeAPI/html/search/all_10.js new file mode 100644 index 0000000000..133dd9dc6e --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y',['y',['../structdim3.html#a83e60e072f7e8bdfde6ac05053cbb370',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_11.html b/docs/RuntimeAPI/html/search/all_11.html new file mode 100644 index 0000000000..6f3943a941 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_11.js b/docs/RuntimeAPI/html/search/all_11.js new file mode 100644 index 0000000000..e8bf38b99c --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z',['z',['../structdim3.html#a866e38993ecc4e76fd47311236c16b04',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_12.html b/docs/RuntimeAPI/html/search/all_12.html new file mode 100644 index 0000000000..3c7c89ef60 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_12.js b/docs/RuntimeAPI/html/search/all_12.js new file mode 100644 index 0000000000..250c203caf --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['x',['x',['../structdim3.html#ac866c05f83a28dac20a153fc65b3b16c',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_13.html b/docs/RuntimeAPI/html/search/all_13.html new file mode 100644 index 0000000000..0bd629b86b --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_13.js b/docs/RuntimeAPI/html/search/all_13.js new file mode 100644 index 0000000000..133dd9dc6e --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y',['y',['../structdim3.html#a83e60e072f7e8bdfde6ac05053cbb370',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_14.html b/docs/RuntimeAPI/html/search/all_14.html new file mode 100644 index 0000000000..2ad638b277 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_14.js b/docs/RuntimeAPI/html/search/all_14.js new file mode 100644 index 0000000000..e8bf38b99c --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_14.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z',['z',['../structdim3.html#a866e38993ecc4e76fd47311236c16b04',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_2.html b/docs/RuntimeAPI/html/search/all_2.html new file mode 100644 index 0000000000..95ded1222d --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_2.js b/docs/RuntimeAPI/html/search/all_2.js new file mode 100644 index 0000000000..f928b2e2ec --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['clockinstructionrate',['clockInstructionRate',['../structhipDeviceProp__t.html#a6fbf3b08a1a08ae700f1a06265f6666b',1,'hipDeviceProp_t']]], + ['clockrate',['clockRate',['../structhipDeviceProp__t.html#a1dd15bee43692b8649dfbdc1adbaaf96',1,'hipDeviceProp_t']]], + ['computemode',['computeMode',['../structhipDeviceProp__t.html#ae7d9216f8583a703359d0b9373823f5d',1,'hipDeviceProp_t']]], + ['control',['Control',['../group__Profiler.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_3.html b/docs/RuntimeAPI/html/search/all_3.html new file mode 100644 index 0000000000..4d312d03dd --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_3.js b/docs/RuntimeAPI/html/search/all_3.js new file mode 100644 index 0000000000..d715da215b --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['device_20management',['Device Management',['../group__Device.html',1,'']]], + ['dim3',['dim3',['../structdim3.html',1,'dim3'],['../group__GlobalDefs.html#gacb37281795c3567d0b10a61c056d512b',1,'dim3(): hip_runtime_api.h']]], + ['device_20memory_20access',['Device Memory Access',['../group__PeerToPeer.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_4.html b/docs/RuntimeAPI/html/search/all_4.html new file mode 100644 index 0000000000..d72a9104cd --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_4.js b/docs/RuntimeAPI/html/search/all_4.js new file mode 100644 index 0000000000..c9fd17e83e --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['error_20handling',['Error Handling',['../group__Error.html',1,'']]], + ['event_20management',['Event Management',['../group__Event.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_5.html b/docs/RuntimeAPI/html/search/all_5.html new file mode 100644 index 0000000000..99ef726704 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_5.js b/docs/RuntimeAPI/html/search/all_5.js new file mode 100644 index 0000000000..529e9394c3 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['global_20enum_20and_20defines',['Global enum and defines',['../group__GlobalDefs.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_6.html b/docs/RuntimeAPI/html/search/all_6.html new file mode 100644 index 0000000000..6133ab3af1 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_6.js b/docs/RuntimeAPI/html/search/all_6.js new file mode 100644 index 0000000000..84510111be --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_6.js @@ -0,0 +1,107 @@ +var searchData= +[ + ['hip_20api',['HIP API',['../group__API.html',1,'']]], + ['has3dgrid',['has3dGrid',['../structhipDeviceArch__t.html#aa5e22d295cce0d9a34ee6e7e7e378c26',1,'hipDeviceArch_t']]], + ['hasdoubles',['hasDoubles',['../structhipDeviceArch__t.html#a2d624e3d85e615b71d1182f8912893b4',1,'hipDeviceArch_t']]], + ['hasdynamicparallelism',['hasDynamicParallelism',['../structhipDeviceArch__t.html#a9114bfc718bf0648b54ff9a319a36b35',1,'hipDeviceArch_t']]], + ['hasfloatatomicadd',['hasFloatAtomicAdd',['../structhipDeviceArch__t.html#a2321d6ef74aac91c044f3289d25b2d41',1,'hipDeviceArch_t']]], + ['hasfunnelshift',['hasFunnelShift',['../structhipDeviceArch__t.html#aaec4f2d983d4602858fae8e9ddeee3ff',1,'hipDeviceArch_t']]], + ['hasglobalfloatatomicexch',['hasGlobalFloatAtomicExch',['../structhipDeviceArch__t.html#a8f213ae9a4729dff1c636ac5de0e2fa2',1,'hipDeviceArch_t']]], + ['hasglobalint32atomics',['hasGlobalInt32Atomics',['../structhipDeviceArch__t.html#a8d00c3ab98869b602c714fe7abe68e93',1,'hipDeviceArch_t']]], + ['hasglobalint64atomics',['hasGlobalInt64Atomics',['../structhipDeviceArch__t.html#ad5aa54dbab22dbcd8cf98f57a96c6636',1,'hipDeviceArch_t']]], + ['hassharedfloatatomicexch',['hasSharedFloatAtomicExch',['../structhipDeviceArch__t.html#aff005558b4edabd27b27f286ac5b2f2b',1,'hipDeviceArch_t']]], + ['hassharedint32atomics',['hasSharedInt32Atomics',['../structhipDeviceArch__t.html#a1596330b1cb9cc73f142aee11b2ab853',1,'hipDeviceArch_t']]], + ['hassharedint64atomics',['hasSharedInt64Atomics',['../structhipDeviceArch__t.html#a00c2b930fcdcad9ea7b54b449db13966',1,'hipDeviceArch_t']]], + ['hassurfacefuncs',['hasSurfaceFuncs',['../structhipDeviceArch__t.html#a9eb2462148686d4c048b69b6e09f835e',1,'hipDeviceArch_t']]], + ['hassyncthreadsext',['hasSyncThreadsExt',['../structhipDeviceArch__t.html#ade6a3b21ad5f344dcd92c52102c274ba',1,'hipDeviceArch_t']]], + ['hasthreadfencesystem',['hasThreadFenceSystem',['../structhipDeviceArch__t.html#ac2818e3b91cba8beb36741e9867bb887',1,'hipDeviceArch_t']]], + ['haswarpballot',['hasWarpBallot',['../structhipDeviceArch__t.html#af1e934a8a5106995bcc256287585564c',1,'hipDeviceArch_t']]], + ['haswarpshuffle',['hasWarpShuffle',['../structhipDeviceArch__t.html#a3d922e8fc97ca1e8ecc39600b138fa2d',1,'hipDeviceArch_t']]], + ['haswarpvote',['hasWarpVote',['../structhipDeviceArch__t.html#a35bde017352eca1d4e0eceb3bf79f274',1,'hipDeviceArch_t']]], + ['hcc_2dspecific_20accessors',['HCC-Specific Accessors',['../group__HCC__Specific.html',1,'']]], + ['hip_20environment_20variables',['HIP Environment Variables',['../group__HIP-ENV.html',1,'']]], + ['hip_5fhcc_2ecpp',['hip_hcc.cpp',['../hip__hcc_8cpp.html',1,'']]], + ['hip_5flaunch_5fblocking',['HIP_LAUNCH_BLOCKING',['../group__HIP-ENV.html#ga8049b329f2663b4572d81e7a9aa8a155',1,'HIP_LAUNCH_BLOCKING(): hip_hcc.cpp'],['../group__HIP-ENV.html#ga8049b329f2663b4572d81e7a9aa8a155',1,'HIP_LAUNCH_BLOCKING(): hip_hcc.cpp']]], + ['hip_5fprint_5fenv',['HIP_PRINT_ENV',['../group__HIP-ENV.html#ga1e1c85dbb250f1acfb484c1be1f3b28a',1,'HIP_PRINT_ENV(): hip_hcc.cpp'],['../group__HIP-ENV.html#ga1e1c85dbb250f1acfb484c1be1f3b28a',1,'HIP_PRINT_ENV(): hip_hcc.cpp']]], + ['hip_5fruntime_2eh',['hip_runtime.h',['../hcc__detail_2hip__runtime_8h.html',1,'']]], + ['hip_5ftrace_5fapi',['HIP_TRACE_API',['../group__HIP-ENV.html#gaae9c541f3e25b8f002762337a03fec28',1,'HIP_TRACE_API(): hip_hcc.cpp'],['../group__HIP-ENV.html#gaae9c541f3e25b8f002762337a03fec28',1,'HIP_TRACE_API(): hip_hcc.cpp']]], + ['hipchannelformatdesc',['hipChannelFormatDesc',['../structhipChannelFormatDesc.html',1,'']]], + ['hipdevicearch_5ft',['hipDeviceArch_t',['../structhipDeviceArch__t.html',1,'']]], + ['hipdevicecanaccesspeer',['hipDeviceCanAccessPeer',['../group__PeerToPeer.html#gab53a55dbc087ff659918fd04287de3d3',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int device, int peerDevice): hip_hcc.cpp'],['../group__PeerToPeer.html#gab53a55dbc087ff659918fd04287de3d3',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int device, int peerDevice): hip_hcc.cpp']]], + ['hipdevicedisablepeeraccess',['hipDeviceDisablePeerAccess',['../group__PeerToPeer.html#ga41e60c01f63597529da1cd77bdd55379',1,'hipDeviceDisablePeerAccess(int peerDevice): hip_hcc.cpp'],['../group__PeerToPeer.html#ga41e60c01f63597529da1cd77bdd55379',1,'hipDeviceDisablePeerAccess(int peerDevice): hip_hcc.cpp']]], + ['hipdeviceenablepeeraccess',['hipDeviceEnablePeerAccess',['../group__PeerToPeer.html#ga098e0d626edbfb69b66d141a5a8b7dc6',1,'hipDeviceEnablePeerAccess(int peerDevice, unsigned int flags): hip_hcc.cpp'],['../group__PeerToPeer.html#ga098e0d626edbfb69b66d141a5a8b7dc6',1,'hipDeviceEnablePeerAccess(int peerDevice, unsigned int flags): hip_hcc.cpp']]], + ['hipdevicegetcacheconfig',['hipDeviceGetCacheConfig',['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_hcc.cpp'],['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_hcc.cpp']]], + ['hipdevicegetproperties',['hipDeviceGetProperties',['../group__Device.html#gad9ee6822e3e55431811fb6a00f7a1c10',1,'hipDeviceGetProperties(hipDeviceProp_t *prop, int device): hip_hcc.cpp'],['../group__Device.html#gad9ee6822e3e55431811fb6a00f7a1c10',1,'hipDeviceGetProperties(hipDeviceProp_t *props, int device): hip_hcc.cpp']]], + ['hipdevicegetsharedmemconfig',['hipDeviceGetSharedMemConfig',['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_hcc.cpp'],['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_hcc.cpp']]], + ['hipdeviceprop_5ft',['hipDeviceProp_t',['../structhipDeviceProp__t.html',1,'']]], + ['hipdevicereset',['hipDeviceReset',['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_hcc.cpp'],['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_hcc.cpp']]], + ['hipdevicesetcacheconfig',['hipDeviceSetCacheConfig',['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_hcc.cpp'],['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_hcc.cpp']]], + ['hipdevicesetsharedmemconfig',['hipDeviceSetSharedMemConfig',['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_hcc.cpp'],['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_hcc.cpp']]], + ['hipdevicesynchronize',['hipDeviceSynchronize',['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_hcc.cpp'],['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_hcc.cpp']]], + ['hipdrivergetversion',['hipDriverGetVersion',['../group__Version.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_hcc.cpp'],['../group__Version.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_hcc.cpp']]], + ['hiperror_5ft',['hipError_t',['../group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594',1,'hip_runtime_api.h']]], + ['hiperrorinvaliddevice',['hipErrorInvalidDevice',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a07ab9b704ea693c1781a52741c60cd0d',1,'hip_runtime_api.h']]], + ['hiperrorinvalidresourcehandle',['hipErrorInvalidResourceHandle',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a88e525a7c8f35552dfada58e9f2f6d3a',1,'hip_runtime_api.h']]], + ['hiperrorinvalidvalue',['hipErrorInvalidValue',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83',1,'hip_runtime_api.h']]], + ['hiperrormemoryallocation',['hipErrorMemoryAllocation',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a8293288a10109874749afe2562db09f2',1,'hip_runtime_api.h']]], + ['hiperrormemoryfree',['hipErrorMemoryFree',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a813b3f014e2a3932d1f0e3e712cf9d3c',1,'hip_runtime_api.h']]], + ['hiperrornodevice',['hipErrorNoDevice',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad4406972c318df36d231310a15131c24',1,'hip_runtime_api.h']]], + ['hiperrornotready',['hipErrorNotReady',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aa9638063c8746a9d1fda2b2069a0a9f1',1,'hip_runtime_api.h']]], + ['hiperroroutofresources',['hipErrorOutOfResources',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a60c1c080b79bdde9ef5e808f974ac9ed',1,'hip_runtime_api.h']]], + ['hiperrortbd',['hipErrorTbd',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ab556409e11ddb0c4cf77a2f4fc91ea9e',1,'hip_runtime_api.h']]], + ['hiperrorunknown',['hipErrorUnknown',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aa74e64c5b2f5fb0d6a92681f5b234073',1,'hip_runtime_api.h']]], + ['hiperrorunknownsymbol',['hipErrorUnknownSymbol',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a45b297e6c3b2029dce1348658421481b',1,'hip_runtime_api.h']]], + ['hipevent_5ft',['hipEvent_t',['../structhipEvent__t.html',1,'']]], + ['hipeventblockingsync',['hipEventBlockingSync',['../group__GlobalDefs.html#gafa1c076a5b991763a98695063f1ea11d',1,'hip_runtime_api.h']]], + ['hipeventcreatewithflags',['hipEventCreateWithFlags',['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_hcc.cpp'],['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_hcc.cpp']]], + ['hipeventdefault',['hipEventDefault',['../group__GlobalDefs.html#ga122a5853359eba97cf047ddd153740f0',1,'hip_runtime_api.h']]], + ['hipeventdestroy',['hipEventDestroy',['../group__Event.html#ga83260357dce0c39e8c6a3c74ec97484c',1,'hipEventDestroy(hipEvent_t event): hip_hcc.cpp'],['../group__Event.html#ga83260357dce0c39e8c6a3c74ec97484c',1,'hipEventDestroy(hipEvent_t event): hip_hcc.cpp']]], + ['hipeventdisabletiming',['hipEventDisableTiming',['../group__GlobalDefs.html#ga3c0f44a85e36a4c67671da6bcdad0351',1,'hip_runtime_api.h']]], + ['hipeventelapsedtime',['hipEventElapsedTime',['../group__Event.html#gad4128b815cb475c8e13c7e66ff6250b7',1,'hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop): hip_hcc.cpp'],['../group__Event.html#gad4128b815cb475c8e13c7e66ff6250b7',1,'hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop): hip_hcc.cpp']]], + ['hipeventinterprocess',['hipEventInterprocess',['../group__GlobalDefs.html#ga0f01d74059baa704e42aeff8222166bb',1,'hip_runtime_api.h']]], + ['hipeventquery',['hipEventQuery',['../group__Event.html#ga5d12d7b798b5ceb5932d1ac21f5ac776',1,'hipEventQuery(hipEvent_t event): hip_hcc.cpp'],['../group__Event.html#ga5d12d7b798b5ceb5932d1ac21f5ac776',1,'hipEventQuery(hipEvent_t event): hip_hcc.cpp']]], + ['hipeventrecord',['hipEventRecord',['../group__Event.html#gace88ebd8c7ec42a6c2cebda2e8b0cb38',1,'hipEventRecord(hipEvent_t event, hipStream_t stream=NULL): hip_hcc.cpp'],['../group__Event.html#gace88ebd8c7ec42a6c2cebda2e8b0cb38',1,'hipEventRecord(hipEvent_t event, hipStream_t stream): hip_hcc.cpp']]], + ['hipeventsynchronize',['hipEventSynchronize',['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_hcc.cpp'],['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_hcc.cpp']]], + ['hipfree',['hipFree',['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_hcc.cpp'],['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_hcc.cpp']]], + ['hipfreehost',['hipFreeHost',['../group__Memory.html#ga28d7d92836116dfadeb62e416ee887d3',1,'hipFreeHost(void *ptr): hip_hcc.cpp'],['../group__Memory.html#ga28d7d92836116dfadeb62e416ee887d3',1,'hipFreeHost(void *ptr): hip_hcc.cpp']]], + ['hipfunccache',['hipFuncCache',['../group__GlobalDefs.html#gac7e4bfd88340fc06642136c839a3d822',1,'hipFuncCache(): hip_runtime_api.h'],['../group__GlobalDefs.html#gaad15dc7939a0a25b16e4aa161fb41eee',1,'hipFuncCache(): hip_runtime_api.h']]], + ['hipfunccachepreferequal',['hipFuncCachePreferEqual',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a0ddab0e840107634a152033103be44d7',1,'hip_runtime_api.h']]], + ['hipfunccachepreferl1',['hipFuncCachePreferL1',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a636a3c140db6b9d4a8bf7d5a61c398c5',1,'hip_runtime_api.h']]], + ['hipfunccacheprefernone',['hipFuncCachePreferNone',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a0813fbaa008ce1231ff9fed3911eb3af',1,'hip_runtime_api.h']]], + ['hipfunccacheprefershared',['hipFuncCachePreferShared',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a9b34337dfbadba25ed2aa270bbcabc43',1,'hip_runtime_api.h']]], + ['hipfuncsetcacheconfig',['hipFuncSetCacheConfig',['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache config): hip_hcc.cpp'],['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache cacheConfig): hip_hcc.cpp']]], + ['hipgetdevice',['hipGetDevice',['../group__Device.html#gaffc83567f2df3bbe2d37a19872d60f24',1,'hipGetDevice(int *device): hip_hcc.cpp'],['../group__Device.html#gaffc83567f2df3bbe2d37a19872d60f24',1,'hipGetDevice(int *device): hip_hcc.cpp']]], + ['hipgetdevicecount',['hipGetDeviceCount',['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_hcc.cpp'],['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_hcc.cpp']]], + ['hipgeterrorname',['hipGetErrorName',['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_hcc.cpp'],['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_hcc.cpp']]], + ['hipgeterrorstring',['hipGetErrorString',['../group__Error.html#ga5959779a654bbc98ffe6d36ab536740a',1,'hipGetErrorString(hipError_t hip_error): hip_hcc.cpp'],['../group__Error.html#ga5959779a654bbc98ffe6d36ab536740a',1,'hipGetErrorString(hipError_t hip_error): hip_hcc.cpp']]], + ['hipgetlasterror',['hipGetLastError',['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(void): hip_hcc.cpp'],['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(): hip_hcc.cpp']]], + ['hiphccgetaccelerator',['hipHccGetAccelerator',['../group__HCC__Specific.html#ga0d24b3157fd1b16d38672bb157ec4cd4',1,'hipHccGetAccelerator(int deviceId, hc::accelerator *acc): hip_hcc.cpp'],['../group__HCC__Specific.html#ga0d24b3157fd1b16d38672bb157ec4cd4',1,'hipHccGetAccelerator(int deviceId, hc::accelerator *acc): hip_hcc.cpp']]], + ['hiphccgetacceleratorview',['hipHccGetAcceleratorView',['../group__HCC__Specific.html#ga1a7087ea9c3c3323270d7cce73650b44',1,'hipHccGetAcceleratorView(hipStream_t stream, hc::accelerator_view **av): hip_hcc.cpp'],['../group__HCC__Specific.html#ga1a7087ea9c3c3323270d7cce73650b44',1,'hipHccGetAcceleratorView(hipStream_t stream, hc::accelerator_view **av): hip_hcc.cpp']]], + ['hipmalloc',['hipMalloc',['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t size): hip_hcc.cpp'],['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t sizeBytes): hip_hcc.cpp']]], + ['hipmallochost',['hipMallocHost',['../group__Memory.html#ga66399e729223ff5b66ffc16297c0710e',1,'hipMallocHost(void **ptr, size_t size): hip_hcc.cpp'],['../group__Memory.html#ga66399e729223ff5b66ffc16297c0710e',1,'hipMallocHost(void **ptr, size_t sizeBytes): hip_hcc.cpp']]], + ['hipmemcpy',['hipMemcpy',['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_hcc.cpp'],['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_hcc.cpp']]], + ['hipmemcpyasync',['hipMemcpyAsync',['../group__Memory.html#ga8ad5a0b13458917e1b9437732b21af54',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream=0): hip_hcc.cpp'],['../group__Memory.html#ga8ad5a0b13458917e1b9437732b21af54',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream): hip_hcc.cpp']]], + ['hipmemcpydefault',['hipMemcpyDefault',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18a4e37107e416f79a2edf2b6534163c823',1,'hip_runtime_api.h']]], + ['hipmemcpydevicetodevice',['hipMemcpyDeviceToDevice',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18abd05a09d3105e0ce25b34dd91cf83f88',1,'hip_runtime_api.h']]], + ['hipmemcpydevicetohost',['hipMemcpyDeviceToHost',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18aba2505e9ce1e5382f17730bc670917d1',1,'hip_runtime_api.h']]], + ['hipmemcpyhosttodevice',['hipMemcpyHostToDevice',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18aff32175ecb0c7113200286eff8211008',1,'hip_runtime_api.h']]], + ['hipmemcpyhosttohost',['hipMemcpyHostToHost',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18a9d66b705aa85a9c83f0f533cef70d0af',1,'hip_runtime_api.h']]], + ['hipmemcpykind',['hipMemcpyKind',['../group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18',1,'hip_runtime_api.h']]], + ['hipmemcpypeerasync',['hipMemcpyPeerAsync',['../group__PeerToPeer.html#gab6211c18ca1e23252ef080cd6be855ca',1,'hipMemcpyPeerAsync(void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream=0): hip_hcc.cpp'],['../group__PeerToPeer.html#gab6211c18ca1e23252ef080cd6be855ca',1,'hipMemcpyPeerAsync(void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream): hip_hcc.cpp']]], + ['hippeekatlasterror',['hipPeekAtLastError',['../group__Error.html#ga1dd660bc739f7e13edd34615660f0148',1,'hip_runtime_api.h']]], + ['hipsetdevice',['hipSetDevice',['../group__Device.html#ga8ec0b093af0adadc7fe98bf33fa21620',1,'hipSetDevice(int device): hip_hcc.cpp'],['../group__Device.html#ga8ec0b093af0adadc7fe98bf33fa21620',1,'hipSetDevice(int device): hip_hcc.cpp']]], + ['hipsharedmembanksizedefault',['hipSharedMemBankSizeDefault',['../group__GlobalDefs.html#gga2e17b71d94ac350f2ccd914fd49d104eaf5b325c9b7bde878913f768eaba5014d',1,'hip_runtime_api.h']]], + ['hipsharedmembanksizeeightbyte',['hipSharedMemBankSizeEightByte',['../group__GlobalDefs.html#gga2e17b71d94ac350f2ccd914fd49d104ea64518b4f5a25f536c883330167e79258',1,'hip_runtime_api.h']]], + ['hipsharedmembanksizefourbyte',['hipSharedMemBankSizeFourByte',['../group__GlobalDefs.html#gga2e17b71d94ac350f2ccd914fd49d104ea0a95a6e0c33106c42d66ab9476ff954a',1,'hip_runtime_api.h']]], + ['hipsharedmemconfig',['hipSharedMemConfig',['../group__GlobalDefs.html#ga2e17b71d94ac350f2ccd914fd49d104e',1,'hipSharedMemConfig(): hip_runtime_api.h'],['../group__GlobalDefs.html#ga6b1ca424fa26a5fb718937d662eaee7f',1,'hipSharedMemConfig(): hip_runtime_api.h']]], + ['hipstreamcreatewithflags',['hipStreamCreateWithFlags',['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_hcc.cpp'],['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_hcc.cpp']]], + ['hipstreamdefault',['hipStreamDefault',['../group__GlobalDefs.html#ga6df5f70eb976836ab3598cacf0ffcdf9',1,'hip_runtime_api.h']]], + ['hipstreamdestroy',['hipStreamDestroy',['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_hcc.cpp'],['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_hcc.cpp']]], + ['hipstreamgetflags',['hipStreamGetFlags',['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_hcc.cpp'],['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_hcc.cpp']]], + ['hipstreamnonblocking',['hipStreamNonBlocking',['../group__GlobalDefs.html#gaaba9ae995d9b43b7d1ee70c6fa12c57d',1,'hip_runtime_api.h']]], + ['hipstreamsynchronize',['hipStreamSynchronize',['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_hcc.cpp'],['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_hcc.cpp']]], + ['hipstreamwaitevent',['hipStreamWaitEvent',['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_hcc.cpp'],['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_hcc.cpp']]], + ['hipsuccess',['hipSuccess',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063',1,'hip_runtime_api.h']]], + ['hipthreadidx_5fx',['hipThreadIdx_x',['../hcc__detail_2hip__runtime_8h.html#a48f5f9da77c5fab1fbcf0205bb347d89',1,'hip_runtime.h']]], + ['heterogeneous_2dcomputing_20interface_20for_20portability_20_28hip_29',['Heterogeneous-computing Interface for Portability (HIP)',['../index.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_7.html b/docs/RuntimeAPI/html/search/all_7.html new file mode 100644 index 0000000000..574812594f --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_7.js b/docs/RuntimeAPI/html/search/all_7.js new file mode 100644 index 0000000000..69beb95adf --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['ihipdevice_5ft',['ihipDevice_t',['../structihipDevice__t.html',1,'']]], + ['ihipevent_5ft',['ihipEvent_t',['../structihipEvent__t.html',1,'']]], + ['ihipstream_5ft',['ihipStream_t',['../structihipStream__t.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_8.html b/docs/RuntimeAPI/html/search/all_8.html new file mode 100644 index 0000000000..0179bdd463 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_8.js b/docs/RuntimeAPI/html/search/all_8.js new file mode 100644 index 0000000000..41a7c59602 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['l2cachesize',['l2CacheSize',['../structhipDeviceProp__t.html#a24404decccc16833973c803ced6f3a51',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_9.html b/docs/RuntimeAPI/html/search/all_9.html new file mode 100644 index 0000000000..cd46d44056 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_9.js b/docs/RuntimeAPI/html/search/all_9.js new file mode 100644 index 0000000000..fd7cb073be --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_9.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['major',['major',['../structhipDeviceProp__t.html#aec9e4173c2e34cc232300c415dbd5e4f',1,'hipDeviceProp_t']]], + ['maxgridsize',['maxGridSize',['../structhipDeviceProp__t.html#ae529c23929f592120081fed31d877a55',1,'hipDeviceProp_t']]], + ['maxthreadsdim',['maxThreadsDim',['../structhipDeviceProp__t.html#a8ebba6fc12f80c9a9cf9b9193f0da465',1,'hipDeviceProp_t']]], + ['maxthreadsperblock',['maxThreadsPerBlock',['../structhipDeviceProp__t.html#af971cf1ca3ec1f68ad09036c0cc672e0',1,'hipDeviceProp_t']]], + ['maxthreadspermultiprocessor',['maxThreadsPerMultiProcessor',['../structhipDeviceProp__t.html#a23a39f4fd795addb3b125e9c3f6295ea',1,'hipDeviceProp_t']]], + ['memory_20management',['Memory Management',['../group__Memory.html',1,'']]], + ['minor',['minor',['../structhipDeviceProp__t.html#abb51208e2509a7a1d107f0da69108938',1,'hipDeviceProp_t']]], + ['multiprocessorcount',['multiProcessorCount',['../structhipDeviceProp__t.html#add8d9d2ad52aece9fd1dbe25c18d9d57',1,'hipDeviceProp_t']]], + ['management',['Management',['../group__Version.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_a.html b/docs/RuntimeAPI/html/search/all_a.html new file mode 100644 index 0000000000..eab655301b --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_a.js b/docs/RuntimeAPI/html/search/all_a.js new file mode 100644 index 0000000000..124bf0ddb8 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name',['name',['../structhipDeviceProp__t.html#a5b44bf8fa46faefcde989942b1d11a5e',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_b.html b/docs/RuntimeAPI/html/search/all_b.html new file mode 100644 index 0000000000..a2c161e0bd --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_b.js b/docs/RuntimeAPI/html/search/all_b.js new file mode 100644 index 0000000000..44ba50e0b7 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['regsperblock',['regsPerBlock',['../structhipDeviceProp__t.html#a73c1c21648a901799ff6bef83c11135b',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_c.html b/docs/RuntimeAPI/html/search/all_c.html new file mode 100644 index 0000000000..bdd3ee2c50 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_c.js b/docs/RuntimeAPI/html/search/all_c.js new file mode 100644 index 0000000000..559f8252a3 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['sharedmemperblock',['sharedMemPerBlock',['../structhipDeviceProp__t.html#a3b9138678a0795c2677eddcfb1c67156',1,'hipDeviceProp_t']]], + ['stream_20management',['Stream Management',['../group__Stream.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_d.html b/docs/RuntimeAPI/html/search/all_d.html new file mode 100644 index 0000000000..d51093367e --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_d.js b/docs/RuntimeAPI/html/search/all_d.js new file mode 100644 index 0000000000..9043ae6945 --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_d.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['texture',['texture',['../structtexture.html',1,'texture< T, texType, hipTextureReadMode >'],['../group__Texture.html',1,'(Global Namespace)']]], + ['texturereference',['textureReference',['../structtextureReference.html',1,'']]], + ['totalconstmem',['totalConstMem',['../structhipDeviceProp__t.html#a29880232c56120be3455ce00d5379665',1,'hipDeviceProp_t']]], + ['totalglobalmem',['totalGlobalMem',['../structhipDeviceProp__t.html#acedd6a2d23423441e4bf51c4a1b719f9',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_e.html b/docs/RuntimeAPI/html/search/all_e.html new file mode 100644 index 0000000000..3cda0172ed --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_e.js b/docs/RuntimeAPI/html/search/all_e.js new file mode 100644 index 0000000000..46a1400a7b --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['warpsize',['warpSize',['../structhipDeviceProp__t.html#af3357d33c004608bf05bc21a352be81b',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/all_f.html b/docs/RuntimeAPI/html/search/all_f.html new file mode 100644 index 0000000000..7419b0297e --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/all_f.js b/docs/RuntimeAPI/html/search/all_f.js new file mode 100644 index 0000000000..250c203caf --- /dev/null +++ b/docs/RuntimeAPI/html/search/all_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['x',['x',['../structdim3.html#ac866c05f83a28dac20a153fc65b3b16c',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/search/classes_0.html b/docs/RuntimeAPI/html/search/classes_0.html new file mode 100644 index 0000000000..fabdc03679 --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/classes_0.js b/docs/RuntimeAPI/html/search/classes_0.js new file mode 100644 index 0000000000..258d3fc37d --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dim3',['dim3',['../structdim3.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/classes_1.html b/docs/RuntimeAPI/html/search/classes_1.html new file mode 100644 index 0000000000..800b6ae1bf --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/classes_1.js b/docs/RuntimeAPI/html/search/classes_1.js new file mode 100644 index 0000000000..e208d64376 --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['hipchannelformatdesc',['hipChannelFormatDesc',['../structhipChannelFormatDesc.html',1,'']]], + ['hipdevicearch_5ft',['hipDeviceArch_t',['../structhipDeviceArch__t.html',1,'']]], + ['hipdeviceprop_5ft',['hipDeviceProp_t',['../structhipDeviceProp__t.html',1,'']]], + ['hipevent_5ft',['hipEvent_t',['../structhipEvent__t.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/classes_2.html b/docs/RuntimeAPI/html/search/classes_2.html new file mode 100644 index 0000000000..f65d263c0c --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/classes_2.js b/docs/RuntimeAPI/html/search/classes_2.js new file mode 100644 index 0000000000..69beb95adf --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['ihipdevice_5ft',['ihipDevice_t',['../structihipDevice__t.html',1,'']]], + ['ihipevent_5ft',['ihipEvent_t',['../structihipEvent__t.html',1,'']]], + ['ihipstream_5ft',['ihipStream_t',['../structihipStream__t.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/classes_3.html b/docs/RuntimeAPI/html/search/classes_3.html new file mode 100644 index 0000000000..927e837f11 --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/classes_3.js b/docs/RuntimeAPI/html/search/classes_3.js new file mode 100644 index 0000000000..67b71f7499 --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['texture',['texture',['../structtexture.html',1,'']]], + ['texturereference',['textureReference',['../structtextureReference.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/classes_4.html b/docs/RuntimeAPI/html/search/classes_4.html new file mode 100644 index 0000000000..a447290ed6 --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/classes_4.js b/docs/RuntimeAPI/html/search/classes_4.js new file mode 100644 index 0000000000..268930b7ea --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_4.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['ihipdevice_5ft',['ihipDevice_t',['../structihipDevice__t.html',1,'']]], + ['ihipevent_5ft',['ihipEvent_t',['../structihipEvent__t.html',1,'']]], + ['ihipstream_5ft',['ihipStream_t',['../structihipStream__t.html',1,'']]], + ['int1',['int1',['../structint1.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/classes_5.html b/docs/RuntimeAPI/html/search/classes_5.html new file mode 100644 index 0000000000..63484c451e --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/classes_5.js b/docs/RuntimeAPI/html/search/classes_5.js new file mode 100644 index 0000000000..8469d0bea8 --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_5.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['long1',['long1',['../structlong1.html',1,'']]], + ['longlong1',['longlong1',['../structlonglong1.html',1,'']]], + ['longlong3',['longlong3',['../structlonglong3.html',1,'']]], + ['longlong4',['longlong4',['../structlonglong4.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/classes_6.html b/docs/RuntimeAPI/html/search/classes_6.html new file mode 100644 index 0000000000..f3d70354c6 --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/classes_6.js b/docs/RuntimeAPI/html/search/classes_6.js new file mode 100644 index 0000000000..e2e16672fb --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['short1',['short1',['../structshort1.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/classes_7.html b/docs/RuntimeAPI/html/search/classes_7.html new file mode 100644 index 0000000000..9e5f5c9861 --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/classes_7.js b/docs/RuntimeAPI/html/search/classes_7.js new file mode 100644 index 0000000000..67b71f7499 --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['texture',['texture',['../structtexture.html',1,'']]], + ['texturereference',['textureReference',['../structtextureReference.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/classes_8.html b/docs/RuntimeAPI/html/search/classes_8.html new file mode 100644 index 0000000000..82c35b32ef --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/classes_8.js b/docs/RuntimeAPI/html/search/classes_8.js new file mode 100644 index 0000000000..cccf1a2ebc --- /dev/null +++ b/docs/RuntimeAPI/html/search/classes_8.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['uchar1',['uchar1',['../structuchar1.html',1,'']]], + ['uint1',['uint1',['../structuint1.html',1,'']]], + ['ulong1',['ulong1',['../structulong1.html',1,'']]], + ['ulonglong1',['ulonglong1',['../structulonglong1.html',1,'']]], + ['ulonglong3',['ulonglong3',['../structulonglong3.html',1,'']]], + ['ulonglong4',['ulonglong4',['../structulonglong4.html',1,'']]], + ['ushort1',['ushort1',['../structushort1.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/close.png b/docs/RuntimeAPI/html/search/close.png new file mode 100644 index 0000000000..9342d3dfee Binary files /dev/null and b/docs/RuntimeAPI/html/search/close.png differ diff --git a/docs/RuntimeAPI/html/search/defines_0.html b/docs/RuntimeAPI/html/search/defines_0.html new file mode 100644 index 0000000000..c2f0b46cfb --- /dev/null +++ b/docs/RuntimeAPI/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/defines_0.js b/docs/RuntimeAPI/html/search/defines_0.js new file mode 100644 index 0000000000..c7c61558ca --- /dev/null +++ b/docs/RuntimeAPI/html/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hipthreadidx_5fx',['hipThreadIdx_x',['../hcc__detail_2hip__runtime_8h.html#a48f5f9da77c5fab1fbcf0205bb347d89',1,'hip_runtime.h']]] +]; diff --git a/docs/RuntimeAPI/html/search/enums_0.html b/docs/RuntimeAPI/html/search/enums_0.html new file mode 100644 index 0000000000..b4cbe1e3ca --- /dev/null +++ b/docs/RuntimeAPI/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/enums_0.js b/docs/RuntimeAPI/html/search/enums_0.js new file mode 100644 index 0000000000..c47574066e --- /dev/null +++ b/docs/RuntimeAPI/html/search/enums_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['hiperror_5ft',['hipError_t',['../group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594',1,'hip_runtime_api.h']]], + ['hipfunccache',['hipFuncCache',['../group__GlobalDefs.html#gac7e4bfd88340fc06642136c839a3d822',1,'hip_runtime_api.h']]], + ['hipmemcpykind',['hipMemcpyKind',['../group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18',1,'hip_runtime_api.h']]], + ['hipsharedmemconfig',['hipSharedMemConfig',['../group__GlobalDefs.html#ga2e17b71d94ac350f2ccd914fd49d104e',1,'hip_runtime_api.h']]] +]; diff --git a/docs/RuntimeAPI/html/search/enumvalues_0.html b/docs/RuntimeAPI/html/search/enumvalues_0.html new file mode 100644 index 0000000000..3e00fcf61a --- /dev/null +++ b/docs/RuntimeAPI/html/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/enumvalues_0.js b/docs/RuntimeAPI/html/search/enumvalues_0.js new file mode 100644 index 0000000000..bb82e15f9b --- /dev/null +++ b/docs/RuntimeAPI/html/search/enumvalues_0.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['hiperrorinvaliddevice',['hipErrorInvalidDevice',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a07ab9b704ea693c1781a52741c60cd0d',1,'hip_runtime_api.h']]], + ['hiperrorinvalidresourcehandle',['hipErrorInvalidResourceHandle',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a88e525a7c8f35552dfada58e9f2f6d3a',1,'hip_runtime_api.h']]], + ['hiperrorinvalidvalue',['hipErrorInvalidValue',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83',1,'hip_runtime_api.h']]], + ['hiperrormemoryallocation',['hipErrorMemoryAllocation',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a8293288a10109874749afe2562db09f2',1,'hip_runtime_api.h']]], + ['hiperrormemoryfree',['hipErrorMemoryFree',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a813b3f014e2a3932d1f0e3e712cf9d3c',1,'hip_runtime_api.h']]], + ['hiperrornodevice',['hipErrorNoDevice',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad4406972c318df36d231310a15131c24',1,'hip_runtime_api.h']]], + ['hiperrornotready',['hipErrorNotReady',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aa9638063c8746a9d1fda2b2069a0a9f1',1,'hip_runtime_api.h']]], + ['hiperroroutofresources',['hipErrorOutOfResources',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a60c1c080b79bdde9ef5e808f974ac9ed',1,'hip_runtime_api.h']]], + ['hiperrortbd',['hipErrorTbd',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ab556409e11ddb0c4cf77a2f4fc91ea9e',1,'hip_runtime_api.h']]], + ['hiperrorunknown',['hipErrorUnknown',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aa74e64c5b2f5fb0d6a92681f5b234073',1,'hip_runtime_api.h']]], + ['hiperrorunknownsymbol',['hipErrorUnknownSymbol',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a45b297e6c3b2029dce1348658421481b',1,'hip_runtime_api.h']]], + ['hipfunccachepreferequal',['hipFuncCachePreferEqual',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a0ddab0e840107634a152033103be44d7',1,'hip_runtime_api.h']]], + ['hipfunccachepreferl1',['hipFuncCachePreferL1',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a636a3c140db6b9d4a8bf7d5a61c398c5',1,'hip_runtime_api.h']]], + ['hipfunccacheprefernone',['hipFuncCachePreferNone',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a0813fbaa008ce1231ff9fed3911eb3af',1,'hip_runtime_api.h']]], + ['hipfunccacheprefershared',['hipFuncCachePreferShared',['../group__GlobalDefs.html#ggac7e4bfd88340fc06642136c839a3d822a9b34337dfbadba25ed2aa270bbcabc43',1,'hip_runtime_api.h']]], + ['hipmemcpydefault',['hipMemcpyDefault',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18a4e37107e416f79a2edf2b6534163c823',1,'hip_runtime_api.h']]], + ['hipmemcpydevicetodevice',['hipMemcpyDeviceToDevice',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18abd05a09d3105e0ce25b34dd91cf83f88',1,'hip_runtime_api.h']]], + ['hipmemcpydevicetohost',['hipMemcpyDeviceToHost',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18aba2505e9ce1e5382f17730bc670917d1',1,'hip_runtime_api.h']]], + ['hipmemcpyhosttodevice',['hipMemcpyHostToDevice',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18aff32175ecb0c7113200286eff8211008',1,'hip_runtime_api.h']]], + ['hipmemcpyhosttohost',['hipMemcpyHostToHost',['../group__GlobalDefs.html#gga232e222db36b1fc672ba98054d036a18a9d66b705aa85a9c83f0f533cef70d0af',1,'hip_runtime_api.h']]], + ['hipsharedmembanksizedefault',['hipSharedMemBankSizeDefault',['../group__GlobalDefs.html#gga2e17b71d94ac350f2ccd914fd49d104eaf5b325c9b7bde878913f768eaba5014d',1,'hip_runtime_api.h']]], + ['hipsharedmembanksizeeightbyte',['hipSharedMemBankSizeEightByte',['../group__GlobalDefs.html#gga2e17b71d94ac350f2ccd914fd49d104ea64518b4f5a25f536c883330167e79258',1,'hip_runtime_api.h']]], + ['hipsharedmembanksizefourbyte',['hipSharedMemBankSizeFourByte',['../group__GlobalDefs.html#gga2e17b71d94ac350f2ccd914fd49d104ea0a95a6e0c33106c42d66ab9476ff954a',1,'hip_runtime_api.h']]], + ['hipsuccess',['hipSuccess',['../group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063',1,'hip_runtime_api.h']]] +]; diff --git a/docs/RuntimeAPI/html/search/files_0.html b/docs/RuntimeAPI/html/search/files_0.html new file mode 100644 index 0000000000..c7aa36c96f --- /dev/null +++ b/docs/RuntimeAPI/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/files_0.js b/docs/RuntimeAPI/html/search/files_0.js new file mode 100644 index 0000000000..c6c9f7ce28 --- /dev/null +++ b/docs/RuntimeAPI/html/search/files_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hip_5fhcc_2ecpp',['hip_hcc.cpp',['../hip__hcc_8cpp.html',1,'']]], + ['hip_5fruntime_2eh',['hip_runtime.h',['../hcc__detail_2hip__runtime_8h.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/functions_0.html b/docs/RuntimeAPI/html/search/functions_0.html new file mode 100644 index 0000000000..16a5a527a8 --- /dev/null +++ b/docs/RuntimeAPI/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/functions_0.js b/docs/RuntimeAPI/html/search/functions_0.js new file mode 100644 index 0000000000..4b4091e9d3 --- /dev/null +++ b/docs/RuntimeAPI/html/search/functions_0.js @@ -0,0 +1,42 @@ +var searchData= +[ + ['hipdevicecanaccesspeer',['hipDeviceCanAccessPeer',['../group__PeerToPeer.html#gab53a55dbc087ff659918fd04287de3d3',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int device, int peerDevice): hip_hcc.cpp'],['../group__PeerToPeer.html#gab53a55dbc087ff659918fd04287de3d3',1,'hipDeviceCanAccessPeer(int *canAccessPeer, int device, int peerDevice): hip_hcc.cpp']]], + ['hipdevicedisablepeeraccess',['hipDeviceDisablePeerAccess',['../group__PeerToPeer.html#ga41e60c01f63597529da1cd77bdd55379',1,'hipDeviceDisablePeerAccess(int peerDevice): hip_hcc.cpp'],['../group__PeerToPeer.html#ga41e60c01f63597529da1cd77bdd55379',1,'hipDeviceDisablePeerAccess(int peerDevice): hip_hcc.cpp']]], + ['hipdeviceenablepeeraccess',['hipDeviceEnablePeerAccess',['../group__PeerToPeer.html#ga098e0d626edbfb69b66d141a5a8b7dc6',1,'hipDeviceEnablePeerAccess(int peerDevice, unsigned int flags): hip_hcc.cpp'],['../group__PeerToPeer.html#ga098e0d626edbfb69b66d141a5a8b7dc6',1,'hipDeviceEnablePeerAccess(int peerDevice, unsigned int flags): hip_hcc.cpp']]], + ['hipdevicegetcacheconfig',['hipDeviceGetCacheConfig',['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_hcc.cpp'],['../group__Device.html#gaeeffa2456c5430400bea75ecd6ad1e68',1,'hipDeviceGetCacheConfig(hipFuncCache *cacheConfig): hip_hcc.cpp']]], + ['hipdevicegetproperties',['hipDeviceGetProperties',['../group__Device.html#gad9ee6822e3e55431811fb6a00f7a1c10',1,'hipDeviceGetProperties(hipDeviceProp_t *prop, int device): hip_hcc.cpp'],['../group__Device.html#gad9ee6822e3e55431811fb6a00f7a1c10',1,'hipDeviceGetProperties(hipDeviceProp_t *props, int device): hip_hcc.cpp']]], + ['hipdevicegetsharedmemconfig',['hipDeviceGetSharedMemConfig',['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_hcc.cpp'],['../group__Device.html#ga1bb08f774a34a468d969a8a04791c9bb',1,'hipDeviceGetSharedMemConfig(hipSharedMemConfig *pConfig): hip_hcc.cpp']]], + ['hipdevicereset',['hipDeviceReset',['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_hcc.cpp'],['../group__Device.html#ga8d57161ae56a8edc46eeda447417bf6c',1,'hipDeviceReset(void): hip_hcc.cpp']]], + ['hipdevicesetcacheconfig',['hipDeviceSetCacheConfig',['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_hcc.cpp'],['../group__Device.html#gac2b282179f29c4c0ca7b5391242c6a4c',1,'hipDeviceSetCacheConfig(hipFuncCache cacheConfig): hip_hcc.cpp']]], + ['hipdevicesetsharedmemconfig',['hipDeviceSetSharedMemConfig',['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_hcc.cpp'],['../group__Device.html#ga9b1f279084e76691cedfbfadf9c717ee',1,'hipDeviceSetSharedMemConfig(hipSharedMemConfig config): hip_hcc.cpp']]], + ['hipdevicesynchronize',['hipDeviceSynchronize',['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_hcc.cpp'],['../group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd',1,'hipDeviceSynchronize(void): hip_hcc.cpp']]], + ['hipdrivergetversion',['hipDriverGetVersion',['../group__Version.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_hcc.cpp'],['../group__Version.html#gaf6c342f52d2a29a0aca5cdd89b4dd47c',1,'hipDriverGetVersion(int *driverVersion): hip_hcc.cpp']]], + ['hipeventcreatewithflags',['hipEventCreateWithFlags',['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_hcc.cpp'],['../group__Event.html#gae86a5acb1b22b61bc9ecb9c28fc71b75',1,'hipEventCreateWithFlags(hipEvent_t *event, unsigned flags): hip_hcc.cpp']]], + ['hipeventdestroy',['hipEventDestroy',['../group__Event.html#ga83260357dce0c39e8c6a3c74ec97484c',1,'hipEventDestroy(hipEvent_t event): hip_hcc.cpp'],['../group__Event.html#ga83260357dce0c39e8c6a3c74ec97484c',1,'hipEventDestroy(hipEvent_t event): hip_hcc.cpp']]], + ['hipeventelapsedtime',['hipEventElapsedTime',['../group__Event.html#gad4128b815cb475c8e13c7e66ff6250b7',1,'hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop): hip_hcc.cpp'],['../group__Event.html#gad4128b815cb475c8e13c7e66ff6250b7',1,'hipEventElapsedTime(float *ms, hipEvent_t start, hipEvent_t stop): hip_hcc.cpp']]], + ['hipeventquery',['hipEventQuery',['../group__Event.html#ga5d12d7b798b5ceb5932d1ac21f5ac776',1,'hipEventQuery(hipEvent_t event): hip_hcc.cpp'],['../group__Event.html#ga5d12d7b798b5ceb5932d1ac21f5ac776',1,'hipEventQuery(hipEvent_t event): hip_hcc.cpp']]], + ['hipeventrecord',['hipEventRecord',['../group__Event.html#gace88ebd8c7ec42a6c2cebda2e8b0cb38',1,'hipEventRecord(hipEvent_t event, hipStream_t stream=NULL): hip_hcc.cpp'],['../group__Event.html#gace88ebd8c7ec42a6c2cebda2e8b0cb38',1,'hipEventRecord(hipEvent_t event, hipStream_t stream): hip_hcc.cpp']]], + ['hipeventsynchronize',['hipEventSynchronize',['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_hcc.cpp'],['../group__Event.html#ga1f72d98ba5d6f7dc3da54e0c41fe38b1',1,'hipEventSynchronize(hipEvent_t event): hip_hcc.cpp']]], + ['hipfree',['hipFree',['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_hcc.cpp'],['../group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1',1,'hipFree(void *ptr): hip_hcc.cpp']]], + ['hipfreehost',['hipFreeHost',['../group__Memory.html#ga28d7d92836116dfadeb62e416ee887d3',1,'hipFreeHost(void *ptr): hip_hcc.cpp'],['../group__Memory.html#ga28d7d92836116dfadeb62e416ee887d3',1,'hipFreeHost(void *ptr): hip_hcc.cpp']]], + ['hipfuncsetcacheconfig',['hipFuncSetCacheConfig',['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache config): hip_hcc.cpp'],['../group__Device.html#gadd94a910c2b840833cc325b1e5425702',1,'hipFuncSetCacheConfig(hipFuncCache cacheConfig): hip_hcc.cpp']]], + ['hipgetdevice',['hipGetDevice',['../group__Device.html#gaffc83567f2df3bbe2d37a19872d60f24',1,'hipGetDevice(int *device): hip_hcc.cpp'],['../group__Device.html#gaffc83567f2df3bbe2d37a19872d60f24',1,'hipGetDevice(int *device): hip_hcc.cpp']]], + ['hipgetdevicecount',['hipGetDeviceCount',['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_hcc.cpp'],['../group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394',1,'hipGetDeviceCount(int *count): hip_hcc.cpp']]], + ['hipgeterrorname',['hipGetErrorName',['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_hcc.cpp'],['../group__Error.html#ga88c474d77635523dbf6ca67be7b56999',1,'hipGetErrorName(hipError_t hip_error): hip_hcc.cpp']]], + ['hipgeterrorstring',['hipGetErrorString',['../group__Error.html#ga5959779a654bbc98ffe6d36ab536740a',1,'hipGetErrorString(hipError_t hip_error): hip_hcc.cpp'],['../group__Error.html#ga5959779a654bbc98ffe6d36ab536740a',1,'hipGetErrorString(hipError_t hip_error): hip_hcc.cpp']]], + ['hipgetlasterror',['hipGetLastError',['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(void): hip_hcc.cpp'],['../group__Error.html#ga533daeb9114d7fc2db8d867adf9e419b',1,'hipGetLastError(): hip_hcc.cpp']]], + ['hiphccgetaccelerator',['hipHccGetAccelerator',['../group__HCC__Specific.html#ga0d24b3157fd1b16d38672bb157ec4cd4',1,'hipHccGetAccelerator(int deviceId, hc::accelerator *acc): hip_hcc.cpp'],['../group__HCC__Specific.html#ga0d24b3157fd1b16d38672bb157ec4cd4',1,'hipHccGetAccelerator(int deviceId, hc::accelerator *acc): hip_hcc.cpp']]], + ['hiphccgetacceleratorview',['hipHccGetAcceleratorView',['../group__HCC__Specific.html#ga1a7087ea9c3c3323270d7cce73650b44',1,'hipHccGetAcceleratorView(hipStream_t stream, hc::accelerator_view **av): hip_hcc.cpp'],['../group__HCC__Specific.html#ga1a7087ea9c3c3323270d7cce73650b44',1,'hipHccGetAcceleratorView(hipStream_t stream, hc::accelerator_view **av): hip_hcc.cpp']]], + ['hipmalloc',['hipMalloc',['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t size): hip_hcc.cpp'],['../group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2',1,'hipMalloc(void **ptr, size_t sizeBytes): hip_hcc.cpp']]], + ['hipmallochost',['hipMallocHost',['../group__Memory.html#ga66399e729223ff5b66ffc16297c0710e',1,'hipMallocHost(void **ptr, size_t size): hip_hcc.cpp'],['../group__Memory.html#ga66399e729223ff5b66ffc16297c0710e',1,'hipMallocHost(void **ptr, size_t sizeBytes): hip_hcc.cpp']]], + ['hipmemcpy',['hipMemcpy',['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_hcc.cpp'],['../group__Memory.html#gac1a055d288302edd641c6d7416858e1e',1,'hipMemcpy(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind): hip_hcc.cpp']]], + ['hipmemcpyasync',['hipMemcpyAsync',['../group__Memory.html#ga8ad5a0b13458917e1b9437732b21af54',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream=0): hip_hcc.cpp'],['../group__Memory.html#ga8ad5a0b13458917e1b9437732b21af54',1,'hipMemcpyAsync(void *dst, const void *src, size_t sizeBytes, hipMemcpyKind kind, hipStream_t stream): hip_hcc.cpp']]], + ['hipmemcpypeerasync',['hipMemcpyPeerAsync',['../group__PeerToPeer.html#gab6211c18ca1e23252ef080cd6be855ca',1,'hipMemcpyPeerAsync(void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream=0): hip_hcc.cpp'],['../group__PeerToPeer.html#gab6211c18ca1e23252ef080cd6be855ca',1,'hipMemcpyPeerAsync(void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes, hipStream_t stream): hip_hcc.cpp']]], + ['hippeekatlasterror',['hipPeekAtLastError',['../group__Error.html#ga1dd660bc739f7e13edd34615660f0148',1,'hip_runtime_api.h']]], + ['hipsetdevice',['hipSetDevice',['../group__Device.html#ga8ec0b093af0adadc7fe98bf33fa21620',1,'hipSetDevice(int device): hip_hcc.cpp'],['../group__Device.html#ga8ec0b093af0adadc7fe98bf33fa21620',1,'hipSetDevice(int device): hip_hcc.cpp']]], + ['hipstreamcreatewithflags',['hipStreamCreateWithFlags',['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_hcc.cpp'],['../group__Stream.html#gaf2382e3cc6632332a8983a0f58e43494',1,'hipStreamCreateWithFlags(hipStream_t *stream, unsigned int flags): hip_hcc.cpp']]], + ['hipstreamdestroy',['hipStreamDestroy',['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_hcc.cpp'],['../group__Stream.html#ga3076a3499ed2c7821311006100bb95ec',1,'hipStreamDestroy(hipStream_t stream): hip_hcc.cpp']]], + ['hipstreamgetflags',['hipStreamGetFlags',['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_hcc.cpp'],['../group__Stream.html#ga3249555a26439591b8873f70b39bb116',1,'hipStreamGetFlags(hipStream_t stream, unsigned int *flags): hip_hcc.cpp']]], + ['hipstreamsynchronize',['hipStreamSynchronize',['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_hcc.cpp'],['../group__Stream.html#gabbfb9f573a6ebe8c478605ecb5504a74',1,'hipStreamSynchronize(hipStream_t stream): hip_hcc.cpp']]], + ['hipstreamwaitevent',['hipStreamWaitEvent',['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_hcc.cpp'],['../group__Stream.html#gacdd84c8f8ef1539c96c57c1d5bcae633',1,'hipStreamWaitEvent(hipStream_t stream, hipEvent_t event, unsigned int flags): hip_hcc.cpp']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_0.html b/docs/RuntimeAPI/html/search/groups_0.html new file mode 100644 index 0000000000..2090afa206 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/groups_0.js b/docs/RuntimeAPI/html/search/groups_0.js new file mode 100644 index 0000000000..41450aa73c --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['control',['Control',['../group__Profiler.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_1.html b/docs/RuntimeAPI/html/search/groups_1.html new file mode 100644 index 0000000000..3ad8a3ba5e --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/groups_1.js b/docs/RuntimeAPI/html/search/groups_1.js new file mode 100644 index 0000000000..9f4a599ed0 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['device_20management',['Device Management',['../group__Device.html',1,'']]], + ['device_20memory_20access',['Device Memory Access',['../group__PeerToPeer.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_2.html b/docs/RuntimeAPI/html/search/groups_2.html new file mode 100644 index 0000000000..361832c940 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/groups_2.js b/docs/RuntimeAPI/html/search/groups_2.js new file mode 100644 index 0000000000..c9fd17e83e --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['error_20handling',['Error Handling',['../group__Error.html',1,'']]], + ['event_20management',['Event Management',['../group__Event.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_3.html b/docs/RuntimeAPI/html/search/groups_3.html new file mode 100644 index 0000000000..f42200a1c1 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/groups_3.js b/docs/RuntimeAPI/html/search/groups_3.js new file mode 100644 index 0000000000..529e9394c3 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['global_20enum_20and_20defines',['Global enum and defines',['../group__GlobalDefs.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_4.html b/docs/RuntimeAPI/html/search/groups_4.html new file mode 100644 index 0000000000..b07fdf95ae --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/groups_4.js b/docs/RuntimeAPI/html/search/groups_4.js new file mode 100644 index 0000000000..178e3f55de --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['hip_20api',['HIP API',['../group__API.html',1,'']]], + ['hcc_2dspecific_20accessors',['HCC-Specific Accessors',['../group__HCC__Specific.html',1,'']]], + ['hip_20environment_20variables',['HIP Environment Variables',['../group__HIP-ENV.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_5.html b/docs/RuntimeAPI/html/search/groups_5.html new file mode 100644 index 0000000000..35324c03fa --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/groups_5.js b/docs/RuntimeAPI/html/search/groups_5.js new file mode 100644 index 0000000000..afbc383574 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['memory_20management',['Memory Management',['../group__Memory.html',1,'']]], + ['management',['Management',['../group__Version.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_6.html b/docs/RuntimeAPI/html/search/groups_6.html new file mode 100644 index 0000000000..323140233c --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/groups_6.js b/docs/RuntimeAPI/html/search/groups_6.js new file mode 100644 index 0000000000..7cc1c54c23 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['stream_20management',['Stream Management',['../group__Stream.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_7.html b/docs/RuntimeAPI/html/search/groups_7.html new file mode 100644 index 0000000000..27334b6a7d --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/groups_7.js b/docs/RuntimeAPI/html/search/groups_7.js new file mode 100644 index 0000000000..dec0aef6b9 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['texture_20reference_20management',['Texture Reference Management',['../group__Texture.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/groups_8.html b/docs/RuntimeAPI/html/search/groups_8.html new file mode 100644 index 0000000000..863d13654f --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/groups_8.js b/docs/RuntimeAPI/html/search/groups_8.js new file mode 100644 index 0000000000..dec0aef6b9 --- /dev/null +++ b/docs/RuntimeAPI/html/search/groups_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['texture_20reference_20management',['Texture Reference Management',['../group__Texture.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/mag_sel.png b/docs/RuntimeAPI/html/search/mag_sel.png new file mode 100644 index 0000000000..81f6040a20 Binary files /dev/null and b/docs/RuntimeAPI/html/search/mag_sel.png differ diff --git a/docs/RuntimeAPI/html/search/nomatches.html b/docs/RuntimeAPI/html/search/nomatches.html new file mode 100644 index 0000000000..b1ded27e9a --- /dev/null +++ b/docs/RuntimeAPI/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/docs/RuntimeAPI/html/search/pages_0.html b/docs/RuntimeAPI/html/search/pages_0.html new file mode 100644 index 0000000000..c51c834506 --- /dev/null +++ b/docs/RuntimeAPI/html/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/pages_0.js b/docs/RuntimeAPI/html/search/pages_0.js new file mode 100644 index 0000000000..8d42650d49 --- /dev/null +++ b/docs/RuntimeAPI/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bug_20list',['Bug List',['../bug.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/pages_1.html b/docs/RuntimeAPI/html/search/pages_1.html new file mode 100644 index 0000000000..2a98fce174 --- /dev/null +++ b/docs/RuntimeAPI/html/search/pages_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/pages_1.js b/docs/RuntimeAPI/html/search/pages_1.js new file mode 100644 index 0000000000..09f9fa0389 --- /dev/null +++ b/docs/RuntimeAPI/html/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['heterogeneous_2dcomputing_20interface_20for_20portability_20_28hip_29',['Heterogeneous-computing Interface for Portability (HIP)',['../index.html',1,'']]] +]; diff --git a/docs/RuntimeAPI/html/search/search.css b/docs/RuntimeAPI/html/search/search.css new file mode 100644 index 0000000000..4d7612ff63 --- /dev/null +++ b/docs/RuntimeAPI/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/RuntimeAPI/html/search/search.js b/docs/RuntimeAPI/html/search/search.js new file mode 100644 index 0000000000..ef361551ef --- /dev/null +++ b/docs/RuntimeAPI/html/search/search.js @@ -0,0 +1,813 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: "abcdeghilmnrstwxyz", + 1: "dhit", + 2: "h", + 3: "h", + 4: "achlmnrstwxyz", + 5: "dh", + 6: "h", + 7: "h", + 8: "h", + 9: "cdeghmst", + 10: "bh" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "files", + 3: "functions", + 4: "variables", + 5: "typedefs", + 6: "enums", + 7: "enumvalues", + 8: "defines", + 9: "groups", + 10: "pages" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/typedefs_0.js b/docs/RuntimeAPI/html/search/typedefs_0.js new file mode 100644 index 0000000000..8cfe168754 --- /dev/null +++ b/docs/RuntimeAPI/html/search/typedefs_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dim3',['dim3',['../group__GlobalDefs.html#gacb37281795c3567d0b10a61c056d512b',1,'hip_runtime_api.h']]] +]; diff --git a/docs/RuntimeAPI/html/search/typedefs_1.html b/docs/RuntimeAPI/html/search/typedefs_1.html new file mode 100644 index 0000000000..455fe2b2b9 --- /dev/null +++ b/docs/RuntimeAPI/html/search/typedefs_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/typedefs_1.js b/docs/RuntimeAPI/html/search/typedefs_1.js new file mode 100644 index 0000000000..dc1a96aca6 --- /dev/null +++ b/docs/RuntimeAPI/html/search/typedefs_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hipfunccache',['hipFuncCache',['../group__GlobalDefs.html#gaad15dc7939a0a25b16e4aa161fb41eee',1,'hip_runtime_api.h']]], + ['hipsharedmemconfig',['hipSharedMemConfig',['../group__GlobalDefs.html#ga6b1ca424fa26a5fb718937d662eaee7f',1,'hip_runtime_api.h']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_0.html b/docs/RuntimeAPI/html/search/variables_0.html new file mode 100644 index 0000000000..1b8adc9b33 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_0.js b/docs/RuntimeAPI/html/search/variables_0.js new file mode 100644 index 0000000000..2fba32867b --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['arch',['arch',['../structhipDeviceProp__t.html#afc58158e44bef6ad26f2be401434b049',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_1.html b/docs/RuntimeAPI/html/search/variables_1.html new file mode 100644 index 0000000000..78f63cd1eb --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_1.js b/docs/RuntimeAPI/html/search/variables_1.js new file mode 100644 index 0000000000..1ba67673c4 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['clockinstructionrate',['clockInstructionRate',['../structhipDeviceProp__t.html#a6fbf3b08a1a08ae700f1a06265f6666b',1,'hipDeviceProp_t']]], + ['clockrate',['clockRate',['../structhipDeviceProp__t.html#a1dd15bee43692b8649dfbdc1adbaaf96',1,'hipDeviceProp_t']]], + ['computemode',['computeMode',['../structhipDeviceProp__t.html#ae7d9216f8583a703359d0b9373823f5d',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_2.html b/docs/RuntimeAPI/html/search/variables_2.html new file mode 100644 index 0000000000..ea80d20140 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_2.js b/docs/RuntimeAPI/html/search/variables_2.js new file mode 100644 index 0000000000..efbf7a8150 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_2.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['has3dgrid',['has3dGrid',['../structhipDeviceArch__t.html#aa5e22d295cce0d9a34ee6e7e7e378c26',1,'hipDeviceArch_t']]], + ['hasdoubles',['hasDoubles',['../structhipDeviceArch__t.html#a2d624e3d85e615b71d1182f8912893b4',1,'hipDeviceArch_t']]], + ['hasdynamicparallelism',['hasDynamicParallelism',['../structhipDeviceArch__t.html#a9114bfc718bf0648b54ff9a319a36b35',1,'hipDeviceArch_t']]], + ['hasfloatatomicadd',['hasFloatAtomicAdd',['../structhipDeviceArch__t.html#a2321d6ef74aac91c044f3289d25b2d41',1,'hipDeviceArch_t']]], + ['hasfunnelshift',['hasFunnelShift',['../structhipDeviceArch__t.html#aaec4f2d983d4602858fae8e9ddeee3ff',1,'hipDeviceArch_t']]], + ['hasglobalfloatatomicexch',['hasGlobalFloatAtomicExch',['../structhipDeviceArch__t.html#a8f213ae9a4729dff1c636ac5de0e2fa2',1,'hipDeviceArch_t']]], + ['hasglobalint32atomics',['hasGlobalInt32Atomics',['../structhipDeviceArch__t.html#a8d00c3ab98869b602c714fe7abe68e93',1,'hipDeviceArch_t']]], + ['hasglobalint64atomics',['hasGlobalInt64Atomics',['../structhipDeviceArch__t.html#ad5aa54dbab22dbcd8cf98f57a96c6636',1,'hipDeviceArch_t']]], + ['hassharedfloatatomicexch',['hasSharedFloatAtomicExch',['../structhipDeviceArch__t.html#aff005558b4edabd27b27f286ac5b2f2b',1,'hipDeviceArch_t']]], + ['hassharedint32atomics',['hasSharedInt32Atomics',['../structhipDeviceArch__t.html#a1596330b1cb9cc73f142aee11b2ab853',1,'hipDeviceArch_t']]], + ['hassharedint64atomics',['hasSharedInt64Atomics',['../structhipDeviceArch__t.html#a00c2b930fcdcad9ea7b54b449db13966',1,'hipDeviceArch_t']]], + ['hassurfacefuncs',['hasSurfaceFuncs',['../structhipDeviceArch__t.html#a9eb2462148686d4c048b69b6e09f835e',1,'hipDeviceArch_t']]], + ['hassyncthreadsext',['hasSyncThreadsExt',['../structhipDeviceArch__t.html#ade6a3b21ad5f344dcd92c52102c274ba',1,'hipDeviceArch_t']]], + ['hasthreadfencesystem',['hasThreadFenceSystem',['../structhipDeviceArch__t.html#ac2818e3b91cba8beb36741e9867bb887',1,'hipDeviceArch_t']]], + ['haswarpballot',['hasWarpBallot',['../structhipDeviceArch__t.html#af1e934a8a5106995bcc256287585564c',1,'hipDeviceArch_t']]], + ['haswarpshuffle',['hasWarpShuffle',['../structhipDeviceArch__t.html#a3d922e8fc97ca1e8ecc39600b138fa2d',1,'hipDeviceArch_t']]], + ['haswarpvote',['hasWarpVote',['../structhipDeviceArch__t.html#a35bde017352eca1d4e0eceb3bf79f274',1,'hipDeviceArch_t']]], + ['hip_5flaunch_5fblocking',['HIP_LAUNCH_BLOCKING',['../group__HIP-ENV.html#ga8049b329f2663b4572d81e7a9aa8a155',1,'HIP_LAUNCH_BLOCKING(): hip_hcc.cpp'],['../group__HIP-ENV.html#ga8049b329f2663b4572d81e7a9aa8a155',1,'HIP_LAUNCH_BLOCKING(): hip_hcc.cpp']]], + ['hip_5fprint_5fenv',['HIP_PRINT_ENV',['../group__HIP-ENV.html#ga1e1c85dbb250f1acfb484c1be1f3b28a',1,'HIP_PRINT_ENV(): hip_hcc.cpp'],['../group__HIP-ENV.html#ga1e1c85dbb250f1acfb484c1be1f3b28a',1,'HIP_PRINT_ENV(): hip_hcc.cpp']]], + ['hip_5ftrace_5fapi',['HIP_TRACE_API',['../group__HIP-ENV.html#gaae9c541f3e25b8f002762337a03fec28',1,'HIP_TRACE_API(): hip_hcc.cpp'],['../group__HIP-ENV.html#gaae9c541f3e25b8f002762337a03fec28',1,'HIP_TRACE_API(): hip_hcc.cpp']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_3.html b/docs/RuntimeAPI/html/search/variables_3.html new file mode 100644 index 0000000000..0dca26f47b --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_3.js b/docs/RuntimeAPI/html/search/variables_3.js new file mode 100644 index 0000000000..41a7c59602 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['l2cachesize',['l2CacheSize',['../structhipDeviceProp__t.html#a24404decccc16833973c803ced6f3a51',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_4.html b/docs/RuntimeAPI/html/search/variables_4.html new file mode 100644 index 0000000000..400e8e9b41 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_4.js b/docs/RuntimeAPI/html/search/variables_4.js new file mode 100644 index 0000000000..037341d156 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_4.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['major',['major',['../structhipDeviceProp__t.html#aec9e4173c2e34cc232300c415dbd5e4f',1,'hipDeviceProp_t']]], + ['maxgridsize',['maxGridSize',['../structhipDeviceProp__t.html#ae529c23929f592120081fed31d877a55',1,'hipDeviceProp_t']]], + ['maxthreadsdim',['maxThreadsDim',['../structhipDeviceProp__t.html#a8ebba6fc12f80c9a9cf9b9193f0da465',1,'hipDeviceProp_t']]], + ['maxthreadsperblock',['maxThreadsPerBlock',['../structhipDeviceProp__t.html#af971cf1ca3ec1f68ad09036c0cc672e0',1,'hipDeviceProp_t']]], + ['maxthreadspermultiprocessor',['maxThreadsPerMultiProcessor',['../structhipDeviceProp__t.html#a23a39f4fd795addb3b125e9c3f6295ea',1,'hipDeviceProp_t']]], + ['minor',['minor',['../structhipDeviceProp__t.html#abb51208e2509a7a1d107f0da69108938',1,'hipDeviceProp_t']]], + ['multiprocessorcount',['multiProcessorCount',['../structhipDeviceProp__t.html#add8d9d2ad52aece9fd1dbe25c18d9d57',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_5.html b/docs/RuntimeAPI/html/search/variables_5.html new file mode 100644 index 0000000000..7f1241f94b --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_5.js b/docs/RuntimeAPI/html/search/variables_5.js new file mode 100644 index 0000000000..124bf0ddb8 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name',['name',['../structhipDeviceProp__t.html#a5b44bf8fa46faefcde989942b1d11a5e',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_6.html b/docs/RuntimeAPI/html/search/variables_6.html new file mode 100644 index 0000000000..7536df8d5a --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_6.js b/docs/RuntimeAPI/html/search/variables_6.js new file mode 100644 index 0000000000..44ba50e0b7 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['regsperblock',['regsPerBlock',['../structhipDeviceProp__t.html#a73c1c21648a901799ff6bef83c11135b',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_7.html b/docs/RuntimeAPI/html/search/variables_7.html new file mode 100644 index 0000000000..66186a6994 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_7.js b/docs/RuntimeAPI/html/search/variables_7.js new file mode 100644 index 0000000000..a582d60c6a --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['sharedmemperblock',['sharedMemPerBlock',['../structhipDeviceProp__t.html#a3b9138678a0795c2677eddcfb1c67156',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_8.html b/docs/RuntimeAPI/html/search/variables_8.html new file mode 100644 index 0000000000..aa13bf24a5 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_8.js b/docs/RuntimeAPI/html/search/variables_8.js new file mode 100644 index 0000000000..b356d6e142 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['totalconstmem',['totalConstMem',['../structhipDeviceProp__t.html#a29880232c56120be3455ce00d5379665',1,'hipDeviceProp_t']]], + ['totalglobalmem',['totalGlobalMem',['../structhipDeviceProp__t.html#acedd6a2d23423441e4bf51c4a1b719f9',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_9.html b/docs/RuntimeAPI/html/search/variables_9.html new file mode 100644 index 0000000000..78cc249f7d --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_9.js b/docs/RuntimeAPI/html/search/variables_9.js new file mode 100644 index 0000000000..46a1400a7b --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['warpsize',['warpSize',['../structhipDeviceProp__t.html#af3357d33c004608bf05bc21a352be81b',1,'hipDeviceProp_t']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_a.html b/docs/RuntimeAPI/html/search/variables_a.html new file mode 100644 index 0000000000..592abaa33c --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_a.js b/docs/RuntimeAPI/html/search/variables_a.js new file mode 100644 index 0000000000..250c203caf --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['x',['x',['../structdim3.html#ac866c05f83a28dac20a153fc65b3b16c',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_b.html b/docs/RuntimeAPI/html/search/variables_b.html new file mode 100644 index 0000000000..78052a1e03 --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_b.js b/docs/RuntimeAPI/html/search/variables_b.js new file mode 100644 index 0000000000..133dd9dc6e --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y',['y',['../structdim3.html#a83e60e072f7e8bdfde6ac05053cbb370',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/search/variables_c.html b/docs/RuntimeAPI/html/search/variables_c.html new file mode 100644 index 0000000000..b2260e465b --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/docs/RuntimeAPI/html/search/variables_c.js b/docs/RuntimeAPI/html/search/variables_c.js new file mode 100644 index 0000000000..e8bf38b99c --- /dev/null +++ b/docs/RuntimeAPI/html/search/variables_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['z',['z',['../structdim3.html#a866e38993ecc4e76fd47311236c16b04',1,'dim3']]] +]; diff --git a/docs/RuntimeAPI/html/structchar1-members.html b/docs/RuntimeAPI/html/structchar1-members.html new file mode 100644 index 0000000000..b618c69432 --- /dev/null +++ b/docs/RuntimeAPI/html/structchar1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
char1 Member List
+
+
+ +

This is the complete list of members for char1, including all inherited members.

+ + +
x (defined in char1)char1
+ + + + diff --git a/docs/RuntimeAPI/html/structchar1.html b/docs/RuntimeAPI/html/structchar1.html new file mode 100644 index 0000000000..e0e553098d --- /dev/null +++ b/docs/RuntimeAPI/html/structchar1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: char1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
char1 Struct Reference
+
+
+ + + + +

+Public Attributes

+char x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structchar2-members.html b/docs/RuntimeAPI/html/structchar2-members.html new file mode 100644 index 0000000000..8fa9a8ee43 --- /dev/null +++ b/docs/RuntimeAPI/html/structchar2-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
char2 Member List
+
+
+ +

This is the complete list of members for char2, including all inherited members.

+ + + +
x (defined in char2)char2
y (defined in char2)char2
+ + + + diff --git a/docs/RuntimeAPI/html/structchar2.html b/docs/RuntimeAPI/html/structchar2.html new file mode 100644 index 0000000000..d7ccd64d98 --- /dev/null +++ b/docs/RuntimeAPI/html/structchar2.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: char2 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
char2 Struct Reference
+
+
+ + + + + + +

+Public Attributes

+char x
 
+char y
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structchar3-members.html b/docs/RuntimeAPI/html/structchar3-members.html new file mode 100644 index 0000000000..978710913c --- /dev/null +++ b/docs/RuntimeAPI/html/structchar3-members.html @@ -0,0 +1,104 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
char3 Member List
+
+
+ +

This is the complete list of members for char3, including all inherited members.

+ + + + +
x (defined in char3)char3
y (defined in char3)char3
z (defined in char3)char3
+ + + + diff --git a/docs/RuntimeAPI/html/structchar3.html b/docs/RuntimeAPI/html/structchar3.html new file mode 100644 index 0000000000..bc38841645 --- /dev/null +++ b/docs/RuntimeAPI/html/structchar3.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: char3 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
char3 Struct Reference
+
+
+ + + + + + + + +

+Public Attributes

+char x
 
+char y
 
+char z
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structchar4-members.html b/docs/RuntimeAPI/html/structchar4-members.html new file mode 100644 index 0000000000..a5f97d7a05 --- /dev/null +++ b/docs/RuntimeAPI/html/structchar4-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
char4 Member List
+
+
+ +

This is the complete list of members for char4, including all inherited members.

+ + + + + +
w (defined in char4)char4
x (defined in char4)char4
y (defined in char4)char4
z (defined in char4)char4
+ + + + diff --git a/docs/RuntimeAPI/html/structchar4.html b/docs/RuntimeAPI/html/structchar4.html new file mode 100644 index 0000000000..a303937bad --- /dev/null +++ b/docs/RuntimeAPI/html/structchar4.html @@ -0,0 +1,120 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: char4 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
char4 Struct Reference
+
+
+ + + + + + + + + + +

+Public Attributes

+char x
 
+char y
 
+char z
 
+char w
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structdim3-members.html b/docs/RuntimeAPI/html/structdim3-members.html new file mode 100644 index 0000000000..429ba0bf78 --- /dev/null +++ b/docs/RuntimeAPI/html/structdim3-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
dim3 Member List
+
+
+ +

This is the complete list of members for dim3, including all inherited members.

+ + + + + +
dim3(uint32_t _x=1, uint32_t _y=1, uint32_t _z=1) (defined in dim3)dim3inline
xdim3
ydim3
zdim3
+ + + + diff --git a/docs/RuntimeAPI/html/structdim3.html b/docs/RuntimeAPI/html/structdim3.html new file mode 100644 index 0000000000..e305c9dfdc --- /dev/null +++ b/docs/RuntimeAPI/html/structdim3.html @@ -0,0 +1,131 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: dim3 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+ +

#include <hip_runtime_api.h>

+ + + + +

+Public Member Functions

dim3 (uint32_t _x=1, uint32_t _y=1, uint32_t _z=1)
 
+ + + + + + + + + + +

+Public Attributes

+uint32_t x
 x
 
+uint32_t y
 y
 
+uint32_t z
 z
 
+

Detailed Description

+

Struct for data in 3D

+

The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structdouble1-members.html b/docs/RuntimeAPI/html/structdouble1-members.html new file mode 100644 index 0000000000..f4f400e1fa --- /dev/null +++ b/docs/RuntimeAPI/html/structdouble1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
double1 Member List
+
+
+ +

This is the complete list of members for double1, including all inherited members.

+ + +
x (defined in double1)double1
+ + + + diff --git a/docs/RuntimeAPI/html/structdouble1.html b/docs/RuntimeAPI/html/structdouble1.html new file mode 100644 index 0000000000..3441ab9e4c --- /dev/null +++ b/docs/RuntimeAPI/html/structdouble1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: double1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
double1 Struct Reference
+
+
+ + + + +

+Public Attributes

+double x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structfloat1-members.html b/docs/RuntimeAPI/html/structfloat1-members.html new file mode 100644 index 0000000000..944fcad6bf --- /dev/null +++ b/docs/RuntimeAPI/html/structfloat1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
float1 Member List
+
+
+ +

This is the complete list of members for float1, including all inherited members.

+ + +
x (defined in float1)float1
+ + + + diff --git a/docs/RuntimeAPI/html/structfloat1.html b/docs/RuntimeAPI/html/structfloat1.html new file mode 100644 index 0000000000..0220f939d6 --- /dev/null +++ b/docs/RuntimeAPI/html/structfloat1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: float1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
float1 Struct Reference
+
+
+ + + + +

+Public Attributes

+float x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structhipChannelFormatDesc-members.html b/docs/RuntimeAPI/html/structhipChannelFormatDesc-members.html new file mode 100644 index 0000000000..87eaf5aa59 --- /dev/null +++ b/docs/RuntimeAPI/html/structhipChannelFormatDesc-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
hipChannelFormatDesc Member List
+
+
+ +

This is the complete list of members for hipChannelFormatDesc, including all inherited members.

+ + +
_dummy (defined in hipChannelFormatDesc)hipChannelFormatDesc
+ + + + diff --git a/docs/RuntimeAPI/html/structhipChannelFormatDesc.html b/docs/RuntimeAPI/html/structhipChannelFormatDesc.html new file mode 100644 index 0000000000..d292794181 --- /dev/null +++ b/docs/RuntimeAPI/html/structhipChannelFormatDesc.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: hipChannelFormatDesc Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
hipChannelFormatDesc Struct Reference
+
+
+ + + + +

+Public Attributes

+int _dummy
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structhipDeviceArch__t-members.html b/docs/RuntimeAPI/html/structhipDeviceArch__t-members.html new file mode 100644 index 0000000000..1b606771ad --- /dev/null +++ b/docs/RuntimeAPI/html/structhipDeviceArch__t-members.html @@ -0,0 +1,118 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
hipDeviceArch_t Member List
+
+ + + + + diff --git a/docs/RuntimeAPI/html/structhipDeviceArch__t.html b/docs/RuntimeAPI/html/structhipDeviceArch__t.html new file mode 100644 index 0000000000..7e28d4ee8e --- /dev/null +++ b/docs/RuntimeAPI/html/structhipDeviceArch__t.html @@ -0,0 +1,176 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: hipDeviceArch_t Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
hipDeviceArch_t Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+unsigned hasGlobalInt32Atomics: 1
 32-bit integer atomics for global memory
 
+unsigned hasGlobalFloatAtomicExch: 1
 32-bit float atomic exch for global memory
 
+unsigned hasSharedInt32Atomics: 1
 32-bit integer atomics for shared memory
 
+unsigned hasSharedFloatAtomicExch: 1
 32-bit float atomic exch for shared memory
 
+unsigned hasFloatAtomicAdd: 1
 32-bit float atomic add in global and shared memory
 
+unsigned hasGlobalInt64Atomics: 1
 64-bit integer atomics for global memory
 
+unsigned hasSharedInt64Atomics: 1
 64-bit integer atomics for shared memory
 
+unsigned hasDoubles: 1
 double-precision floating point.
 
+unsigned hasWarpVote: 1
 warp vote instructions (__any, __all)
 
+unsigned hasWarpBallot: 1
 warp ballot instructions (__ballot)
 
+unsigned hasWarpShuffle: 1
 warp shuffle operations. (__shfl_*)
 
+unsigned hasFunnelShift: 1
 funnel two words into one, with shift&mask caps
 
+unsigned hasThreadFenceSystem: 1
 __threadfence_system
 
+unsigned hasSyncThreadsExt: 1
 __syncthreads_count, syncthreads_and, syncthreads_or
 
+unsigned hasSurfaceFuncs: 1
 Surface functions.
 
+unsigned has3dGrid: 1
 Grid and group dims are 3D (rather than 2D)
 
+unsigned hasDynamicParallelism: 1
 Dynamic parallellism.
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structhipDeviceProp__t-members.html b/docs/RuntimeAPI/html/structhipDeviceProp__t-members.html new file mode 100644 index 0000000000..d37974762e --- /dev/null +++ b/docs/RuntimeAPI/html/structhipDeviceProp__t-members.html @@ -0,0 +1,119 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
hipDeviceProp_t Member List
+
+ + + + + diff --git a/docs/RuntimeAPI/html/structhipDeviceProp__t.html b/docs/RuntimeAPI/html/structhipDeviceProp__t.html new file mode 100644 index 0000000000..09483a9577 --- /dev/null +++ b/docs/RuntimeAPI/html/structhipDeviceProp__t.html @@ -0,0 +1,184 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: hipDeviceProp_t Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
hipDeviceProp_t Struct Reference
+
+
+ +

#include <hip_runtime_api.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+char name [256]
 Device name.
 
+size_t totalGlobalMem
 Size of global memory region (in bytes)
 
+size_t sharedMemPerBlock
 Size of shared memory region (in bytes)
 
+int regsPerBlock
 registers per block
 
+int warpSize
 warp size
 
+int maxThreadsPerBlock
 max work items per work group or workgroup max size
 
+int maxThreadsDim [3]
 max number of threads in each dimension (XYZ) of a block
 
+int maxGridSize [3]
 max grid dimensions (XYZ)
 
+int clockRate
 max clock frequency of the multiProcessors, in khz.
 
+size_t totalConstMem
 Size of shared memory region (in bytes)
 
+int major
 Major compute capability. On HCC, this is an approximation and features may differ from CUDA CC. See the arch feature flags for portable ways to query feature caps.
 
+int minor
 Minor compute capability. On HCC, this is an approximation and features may differ from CUDA CC. See the arch feature flags for portable ways to query feature caps.
 
+int multiProcessorCount
 number of multi-processors (compute units)
 
+int l2CacheSize
 L2 cache size.
 
+int maxThreadsPerMultiProcessor
 Maximum resident threads per multi-processor.
 
+int computeMode
 Compute mode.
 
+int clockInstructionRate
 Frequency in khz of the timer used by the device-side "clock*" instructions. New for HIP.
 
+hipDeviceArch_t arch
 Architectural feature flags. New for HIP.
 
+

Detailed Description

+

hipDeviceProp

+

The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structhipEvent__t-members.html b/docs/RuntimeAPI/html/structhipEvent__t-members.html new file mode 100644 index 0000000000..22a528a157 --- /dev/null +++ b/docs/RuntimeAPI/html/structhipEvent__t-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
hipEvent_t Member List
+
+
+ +

This is the complete list of members for hipEvent_t, including all inherited members.

+ + +
_handle (defined in hipEvent_t)hipEvent_t
+ + + + diff --git a/docs/RuntimeAPI/html/structhipEvent__t.html b/docs/RuntimeAPI/html/structhipEvent__t.html new file mode 100644 index 0000000000..e904fd699b --- /dev/null +++ b/docs/RuntimeAPI/html/structhipEvent__t.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: hipEvent_t Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
hipEvent_t Struct Reference
+
+
+ + + + +

+Public Attributes

+struct ihipEvent_t_handle
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structihipDevice__t-members.html b/docs/RuntimeAPI/html/structihipDevice__t-members.html new file mode 100644 index 0000000000..5018e17cdd --- /dev/null +++ b/docs/RuntimeAPI/html/structihipDevice__t-members.html @@ -0,0 +1,110 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ihipDevice_t Member List
+
+
+ +

This is the complete list of members for ihipDevice_t, including all inherited members.

+ + + + + + + + + + +
_acc (defined in ihipDevice_t)ihipDevice_t
_compute_units (defined in ihipDevice_t)ihipDevice_t
_device_index (defined in ihipDevice_t)ihipDevice_t
_hsa_agent (defined in ihipDevice_t)ihipDevice_t
_null_stream (defined in ihipDevice_t)ihipDevice_t
_props (defined in ihipDevice_t)ihipDevice_t
_streams (defined in ihipDevice_t)ihipDevice_t
getProperties(hipDeviceProp_t *prop) (defined in ihipDevice_t)ihipDevice_t
ihipDevice_t(unsigned device_index, hc::accelerator acc) (defined in ihipDevice_t)ihipDevice_t
+ + + + diff --git a/docs/RuntimeAPI/html/structihipDevice__t.html b/docs/RuntimeAPI/html/structihipDevice__t.html new file mode 100644 index 0000000000..9b98f8364e --- /dev/null +++ b/docs/RuntimeAPI/html/structihipDevice__t.html @@ -0,0 +1,139 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ihipDevice_t Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ihipDevice_t Struct Reference
+
+
+ + + + + + +

+Public Member Functions

ihipDevice_t (unsigned device_index, hc::accelerator acc)
 
+hipError_t getProperties (hipDeviceProp_t *prop)
 
+ + + + + + + + + + + + + + + +

+Public Attributes

+unsigned _device_index
 
+hipDeviceProp_t _props
 
+hc::accelerator _acc
 
+hsa_agent_t _hsa_agent
 
+ihipStream_t_null_stream
 
+std::list< ihipStream_t * > _streams
 
+unsigned _compute_units
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structihipEvent__t-members.html b/docs/RuntimeAPI/html/structihipEvent__t-members.html new file mode 100644 index 0000000000..0776e7e875 --- /dev/null +++ b/docs/RuntimeAPI/html/structihipEvent__t-members.html @@ -0,0 +1,106 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ihipEvent_t Member List
+
+
+ +

This is the complete list of members for ihipEvent_t, including all inherited members.

+ + + + + + +
_flags (defined in ihipEvent_t)ihipEvent_t
_marker (defined in ihipEvent_t)ihipEvent_t
_state (defined in ihipEvent_t)ihipEvent_t
_stream (defined in ihipEvent_t)ihipEvent_t
_timestamp (defined in ihipEvent_t)ihipEvent_t
+ + + + diff --git a/docs/RuntimeAPI/html/structihipEvent__t.html b/docs/RuntimeAPI/html/structihipEvent__t.html new file mode 100644 index 0000000000..9c01e12246 --- /dev/null +++ b/docs/RuntimeAPI/html/structihipEvent__t.html @@ -0,0 +1,123 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ihipEvent_t Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ihipEvent_t Struct Reference
+
+
+ + + + + + + + + + + + +

+Public Attributes

+hipEventStatus_t _state
 
+hipStream_t _stream
 
+unsigned _flags
 
+hc::completion_future _marker
 
+uint64_t _timestamp
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structihipStream__t-members.html b/docs/RuntimeAPI/html/structihipStream__t-members.html new file mode 100644 index 0000000000..d46a3b9656 --- /dev/null +++ b/docs/RuntimeAPI/html/structihipStream__t-members.html @@ -0,0 +1,106 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ihipStream_t Member List
+
+
+ +

This is the complete list of members for ihipStream_t, including all inherited members.

+ + + + + + +
_av (defined in ihipStream_t)ihipStream_t
_device_index (defined in ihipStream_t)ihipStream_t
_flags (defined in ihipStream_t)ihipStream_t
_last_command (defined in ihipStream_t)ihipStream_t
ihipStream_t(unsigned device_index, hc::accelerator_view av, unsigned int flags) (defined in ihipStream_t)ihipStream_tinline
+ + + + diff --git a/docs/RuntimeAPI/html/structihipStream__t.html b/docs/RuntimeAPI/html/structihipStream__t.html new file mode 100644 index 0000000000..ba671e68af --- /dev/null +++ b/docs/RuntimeAPI/html/structihipStream__t.html @@ -0,0 +1,127 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ihipStream_t Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ihipStream_t Struct Reference
+
+
+ + + + +

+Public Member Functions

ihipStream_t (unsigned device_index, hc::accelerator_view av, unsigned int flags)
 
+ + + + + + + + + +

+Public Attributes

+unsigned _device_index
 
+hc::accelerator_view _av
 
+unsigned _flags
 
+ihipCommand_t _last_command
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structint1-members.html b/docs/RuntimeAPI/html/structint1-members.html new file mode 100644 index 0000000000..196b794b05 --- /dev/null +++ b/docs/RuntimeAPI/html/structint1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
int1 Member List
+
+
+ +

This is the complete list of members for int1, including all inherited members.

+ + +
x (defined in int1)int1
+ + + + diff --git a/docs/RuntimeAPI/html/structint1.html b/docs/RuntimeAPI/html/structint1.html new file mode 100644 index 0000000000..927f152743 --- /dev/null +++ b/docs/RuntimeAPI/html/structint1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: int1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
int1 Struct Reference
+
+
+ + + + +

+Public Attributes

+int x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structlong1-members.html b/docs/RuntimeAPI/html/structlong1-members.html new file mode 100644 index 0000000000..c8e0926d51 --- /dev/null +++ b/docs/RuntimeAPI/html/structlong1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
long1 Member List
+
+
+ +

This is the complete list of members for long1, including all inherited members.

+ + +
x (defined in long1)long1
+ + + + diff --git a/docs/RuntimeAPI/html/structlong1.html b/docs/RuntimeAPI/html/structlong1.html new file mode 100644 index 0000000000..632e9e5a74 --- /dev/null +++ b/docs/RuntimeAPI/html/structlong1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: long1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
long1 Struct Reference
+
+
+ + + + +

+Public Attributes

+long x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structlong2-members.html b/docs/RuntimeAPI/html/structlong2-members.html new file mode 100644 index 0000000000..e11171e23e --- /dev/null +++ b/docs/RuntimeAPI/html/structlong2-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
long2 Member List
+
+
+ +

This is the complete list of members for long2, including all inherited members.

+ + + +
x (defined in long2)long2
y (defined in long2)long2
+ + + + diff --git a/docs/RuntimeAPI/html/structlong2.html b/docs/RuntimeAPI/html/structlong2.html new file mode 100644 index 0000000000..004fa1f3fa --- /dev/null +++ b/docs/RuntimeAPI/html/structlong2.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: long2 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
long2 Struct Reference
+
+
+ + + + + + +

+Public Attributes

+long x
 
+long y
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structlong3-members.html b/docs/RuntimeAPI/html/structlong3-members.html new file mode 100644 index 0000000000..1546f481c4 --- /dev/null +++ b/docs/RuntimeAPI/html/structlong3-members.html @@ -0,0 +1,104 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
long3 Member List
+
+
+ +

This is the complete list of members for long3, including all inherited members.

+ + + + +
x (defined in long3)long3
y (defined in long3)long3
z (defined in long3)long3
+ + + + diff --git a/docs/RuntimeAPI/html/structlong3.html b/docs/RuntimeAPI/html/structlong3.html new file mode 100644 index 0000000000..228ab4bb71 --- /dev/null +++ b/docs/RuntimeAPI/html/structlong3.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: long3 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
long3 Struct Reference
+
+
+ + + + + + + + +

+Public Attributes

+long x
 
+long y
 
+long z
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structlong4-members.html b/docs/RuntimeAPI/html/structlong4-members.html new file mode 100644 index 0000000000..c05faa32fb --- /dev/null +++ b/docs/RuntimeAPI/html/structlong4-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
long4 Member List
+
+
+ +

This is the complete list of members for long4, including all inherited members.

+ + + + + +
w (defined in long4)long4
x (defined in long4)long4
y (defined in long4)long4
z (defined in long4)long4
+ + + + diff --git a/docs/RuntimeAPI/html/structlong4.html b/docs/RuntimeAPI/html/structlong4.html new file mode 100644 index 0000000000..8cf6b0e925 --- /dev/null +++ b/docs/RuntimeAPI/html/structlong4.html @@ -0,0 +1,120 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: long4 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
long4 Struct Reference
+
+
+ + + + + + + + + + +

+Public Attributes

+long x
 
+long y
 
+long z
 
+long w
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structlonglong1-members.html b/docs/RuntimeAPI/html/structlonglong1-members.html new file mode 100644 index 0000000000..cc8483c650 --- /dev/null +++ b/docs/RuntimeAPI/html/structlonglong1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
longlong1 Member List
+
+
+ +

This is the complete list of members for longlong1, including all inherited members.

+ + +
x (defined in longlong1)longlong1
+ + + + diff --git a/docs/RuntimeAPI/html/structlonglong1.html b/docs/RuntimeAPI/html/structlonglong1.html new file mode 100644 index 0000000000..f347efcba4 --- /dev/null +++ b/docs/RuntimeAPI/html/structlonglong1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: longlong1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
longlong1 Struct Reference
+
+
+ + + + +

+Public Attributes

+long long x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structlonglong2-members.html b/docs/RuntimeAPI/html/structlonglong2-members.html new file mode 100644 index 0000000000..d60b7542b7 --- /dev/null +++ b/docs/RuntimeAPI/html/structlonglong2-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
longlong2 Member List
+
+
+ +

This is the complete list of members for longlong2, including all inherited members.

+ + + +
x (defined in longlong2)longlong2
y (defined in longlong2)longlong2
+ + + + diff --git a/docs/RuntimeAPI/html/structlonglong2.html b/docs/RuntimeAPI/html/structlonglong2.html new file mode 100644 index 0000000000..2aae373a41 --- /dev/null +++ b/docs/RuntimeAPI/html/structlonglong2.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: longlong2 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
longlong2 Struct Reference
+
+
+ + + + + + +

+Public Attributes

+long long x
 
+long long y
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structlonglong3-members.html b/docs/RuntimeAPI/html/structlonglong3-members.html new file mode 100644 index 0000000000..71f382899c --- /dev/null +++ b/docs/RuntimeAPI/html/structlonglong3-members.html @@ -0,0 +1,104 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
longlong3 Member List
+
+
+ +

This is the complete list of members for longlong3, including all inherited members.

+ + + + +
x (defined in longlong3)longlong3
y (defined in longlong3)longlong3
z (defined in longlong3)longlong3
+ + + + diff --git a/docs/RuntimeAPI/html/structlonglong3.html b/docs/RuntimeAPI/html/structlonglong3.html new file mode 100644 index 0000000000..7ffce23e52 --- /dev/null +++ b/docs/RuntimeAPI/html/structlonglong3.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: longlong3 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
longlong3 Struct Reference
+
+
+ + + + + + + + +

+Public Attributes

+long long x
 
+long long y
 
+long long z
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structlonglong4-members.html b/docs/RuntimeAPI/html/structlonglong4-members.html new file mode 100644 index 0000000000..797d534178 --- /dev/null +++ b/docs/RuntimeAPI/html/structlonglong4-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
longlong4 Member List
+
+
+ +

This is the complete list of members for longlong4, including all inherited members.

+ + + + + +
w (defined in longlong4)longlong4
x (defined in longlong4)longlong4
y (defined in longlong4)longlong4
z (defined in longlong4)longlong4
+ + + + diff --git a/docs/RuntimeAPI/html/structlonglong4.html b/docs/RuntimeAPI/html/structlonglong4.html new file mode 100644 index 0000000000..bfe3df64b5 --- /dev/null +++ b/docs/RuntimeAPI/html/structlonglong4.html @@ -0,0 +1,120 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: longlong4 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
longlong4 Struct Reference
+
+
+ + + + + + + + + + +

+Public Attributes

+long long x
 
+long long y
 
+long long z
 
+long long w
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structshort1-members.html b/docs/RuntimeAPI/html/structshort1-members.html new file mode 100644 index 0000000000..4e4a62fe07 --- /dev/null +++ b/docs/RuntimeAPI/html/structshort1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
short1 Member List
+
+
+ +

This is the complete list of members for short1, including all inherited members.

+ + +
x (defined in short1)short1
+ + + + diff --git a/docs/RuntimeAPI/html/structshort1.html b/docs/RuntimeAPI/html/structshort1.html new file mode 100644 index 0000000000..c2e9809d03 --- /dev/null +++ b/docs/RuntimeAPI/html/structshort1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: short1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
short1 Struct Reference
+
+
+ + + + +

+Public Attributes

+short x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structshort2-members.html b/docs/RuntimeAPI/html/structshort2-members.html new file mode 100644 index 0000000000..cb6de02834 --- /dev/null +++ b/docs/RuntimeAPI/html/structshort2-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
short2 Member List
+
+
+ +

This is the complete list of members for short2, including all inherited members.

+ + + +
x (defined in short2)short2
y (defined in short2)short2
+ + + + diff --git a/docs/RuntimeAPI/html/structshort2.html b/docs/RuntimeAPI/html/structshort2.html new file mode 100644 index 0000000000..48067316f6 --- /dev/null +++ b/docs/RuntimeAPI/html/structshort2.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: short2 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
short2 Struct Reference
+
+
+ + + + + + +

+Public Attributes

+short x
 
+short y
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structshort3-members.html b/docs/RuntimeAPI/html/structshort3-members.html new file mode 100644 index 0000000000..7b07235a40 --- /dev/null +++ b/docs/RuntimeAPI/html/structshort3-members.html @@ -0,0 +1,104 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
short3 Member List
+
+
+ +

This is the complete list of members for short3, including all inherited members.

+ + + + +
x (defined in short3)short3
y (defined in short3)short3
z (defined in short3)short3
+ + + + diff --git a/docs/RuntimeAPI/html/structshort3.html b/docs/RuntimeAPI/html/structshort3.html new file mode 100644 index 0000000000..b7c9d15748 --- /dev/null +++ b/docs/RuntimeAPI/html/structshort3.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: short3 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
short3 Struct Reference
+
+
+ + + + + + + + +

+Public Attributes

+short x
 
+short y
 
+short z
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structshort4-members.html b/docs/RuntimeAPI/html/structshort4-members.html new file mode 100644 index 0000000000..43b44879e2 --- /dev/null +++ b/docs/RuntimeAPI/html/structshort4-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
short4 Member List
+
+
+ +

This is the complete list of members for short4, including all inherited members.

+ + + + + +
w (defined in short4)short4
x (defined in short4)short4
y (defined in short4)short4
z (defined in short4)short4
+ + + + diff --git a/docs/RuntimeAPI/html/structshort4.html b/docs/RuntimeAPI/html/structshort4.html new file mode 100644 index 0000000000..86a8622443 --- /dev/null +++ b/docs/RuntimeAPI/html/structshort4.html @@ -0,0 +1,120 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: short4 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
short4 Struct Reference
+
+
+ + + + + + + + + + +

+Public Attributes

+short x
 
+short y
 
+short z
 
+short w
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structtexture-members.html b/docs/RuntimeAPI/html/structtexture-members.html new file mode 100644 index 0000000000..12b5319739 --- /dev/null +++ b/docs/RuntimeAPI/html/structtexture-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
texture< T, texType, hipTextureReadMode > Member List
+
+
+ +

This is the complete list of members for texture< T, texType, hipTextureReadMode >, including all inherited members.

+ + + + + +
_dataPtr (defined in texture< T, texType, hipTextureReadMode >)texture< T, texType, hipTextureReadMode >
channelDesc (defined in textureReference)textureReference
filterMode (defined in textureReference)textureReference
normalized (defined in textureReference)textureReference
+ + + + diff --git a/docs/RuntimeAPI/html/structtexture.html b/docs/RuntimeAPI/html/structtexture.html new file mode 100644 index 0000000000..bafbc0f8e3 --- /dev/null +++ b/docs/RuntimeAPI/html/structtexture.html @@ -0,0 +1,130 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: texture< T, texType, hipTextureReadMode > Struct Template Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
texture< T, texType, hipTextureReadMode > Struct Template Reference
+
+
+
+Inheritance diagram for texture< T, texType, hipTextureReadMode >:
+
+
+ + +textureReference + +
+ + + + + + + + + + + +

+Public Attributes

+const T * _dataPtr
 
- Public Attributes inherited from textureReference
+hipTextureFilterMode filterMode
 
+bool normalized
 
+hipChannelFormatDesc channelDesc
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structtexture.png b/docs/RuntimeAPI/html/structtexture.png new file mode 100644 index 0000000000..3a32b1fdbc Binary files /dev/null and b/docs/RuntimeAPI/html/structtexture.png differ diff --git a/docs/RuntimeAPI/html/structtextureReference-members.html b/docs/RuntimeAPI/html/structtextureReference-members.html new file mode 100644 index 0000000000..8b3c890f40 --- /dev/null +++ b/docs/RuntimeAPI/html/structtextureReference-members.html @@ -0,0 +1,104 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
textureReference Member List
+
+
+ +

This is the complete list of members for textureReference, including all inherited members.

+ + + + +
channelDesc (defined in textureReference)textureReference
filterMode (defined in textureReference)textureReference
normalized (defined in textureReference)textureReference
+ + + + diff --git a/docs/RuntimeAPI/html/structtextureReference.html b/docs/RuntimeAPI/html/structtextureReference.html new file mode 100644 index 0000000000..d5fd3910fc --- /dev/null +++ b/docs/RuntimeAPI/html/structtextureReference.html @@ -0,0 +1,126 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: textureReference Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
textureReference Struct Reference
+
+
+
+Inheritance diagram for textureReference:
+
+
+ + +texture< T, texType, hipTextureReadMode > + +
+ + + + + + + + +

+Public Attributes

+hipTextureFilterMode filterMode
 
+bool normalized
 
+hipChannelFormatDesc channelDesc
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structtextureReference.png b/docs/RuntimeAPI/html/structtextureReference.png new file mode 100644 index 0000000000..5447140274 Binary files /dev/null and b/docs/RuntimeAPI/html/structtextureReference.png differ diff --git a/docs/RuntimeAPI/html/structuchar1-members.html b/docs/RuntimeAPI/html/structuchar1-members.html new file mode 100644 index 0000000000..a2d9e5a75c --- /dev/null +++ b/docs/RuntimeAPI/html/structuchar1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
uchar1 Member List
+
+
+ +

This is the complete list of members for uchar1, including all inherited members.

+ + +
x (defined in uchar1)uchar1
+ + + + diff --git a/docs/RuntimeAPI/html/structuchar1.html b/docs/RuntimeAPI/html/structuchar1.html new file mode 100644 index 0000000000..e1ccab91c2 --- /dev/null +++ b/docs/RuntimeAPI/html/structuchar1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: uchar1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
uchar1 Struct Reference
+
+
+ + + + +

+Public Attributes

+unsigned char x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structuchar2-members.html b/docs/RuntimeAPI/html/structuchar2-members.html new file mode 100644 index 0000000000..f6195412b8 --- /dev/null +++ b/docs/RuntimeAPI/html/structuchar2-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
uchar2 Member List
+
+
+ +

This is the complete list of members for uchar2, including all inherited members.

+ + + +
x (defined in uchar2)uchar2
y (defined in uchar2)uchar2
+ + + + diff --git a/docs/RuntimeAPI/html/structuchar2.html b/docs/RuntimeAPI/html/structuchar2.html new file mode 100644 index 0000000000..e50d42f883 --- /dev/null +++ b/docs/RuntimeAPI/html/structuchar2.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: uchar2 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
uchar2 Struct Reference
+
+
+ + + + + + +

+Public Attributes

+unsigned char x
 
+unsigned char y
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structuchar3-members.html b/docs/RuntimeAPI/html/structuchar3-members.html new file mode 100644 index 0000000000..2ad6db7003 --- /dev/null +++ b/docs/RuntimeAPI/html/structuchar3-members.html @@ -0,0 +1,104 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
uchar3 Member List
+
+
+ +

This is the complete list of members for uchar3, including all inherited members.

+ + + + +
x (defined in uchar3)uchar3
y (defined in uchar3)uchar3
z (defined in uchar3)uchar3
+ + + + diff --git a/docs/RuntimeAPI/html/structuchar3.html b/docs/RuntimeAPI/html/structuchar3.html new file mode 100644 index 0000000000..4c2640860a --- /dev/null +++ b/docs/RuntimeAPI/html/structuchar3.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: uchar3 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
uchar3 Struct Reference
+
+
+ + + + + + + + +

+Public Attributes

+unsigned char x
 
+unsigned char y
 
+unsigned char z
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structuchar4-members.html b/docs/RuntimeAPI/html/structuchar4-members.html new file mode 100644 index 0000000000..b37288c0a0 --- /dev/null +++ b/docs/RuntimeAPI/html/structuchar4-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
uchar4 Member List
+
+
+ +

This is the complete list of members for uchar4, including all inherited members.

+ + + + + +
w (defined in uchar4)uchar4
x (defined in uchar4)uchar4
y (defined in uchar4)uchar4
z (defined in uchar4)uchar4
+ + + + diff --git a/docs/RuntimeAPI/html/structuchar4.html b/docs/RuntimeAPI/html/structuchar4.html new file mode 100644 index 0000000000..4c6074d22c --- /dev/null +++ b/docs/RuntimeAPI/html/structuchar4.html @@ -0,0 +1,120 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: uchar4 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
uchar4 Struct Reference
+
+
+ + + + + + + + + + +

+Public Attributes

+unsigned char x
 
+unsigned char y
 
+unsigned char z
 
+unsigned char w
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structuint1-members.html b/docs/RuntimeAPI/html/structuint1-members.html new file mode 100644 index 0000000000..6eec4356c7 --- /dev/null +++ b/docs/RuntimeAPI/html/structuint1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
uint1 Member List
+
+
+ +

This is the complete list of members for uint1, including all inherited members.

+ + +
x (defined in uint1)uint1
+ + + + diff --git a/docs/RuntimeAPI/html/structuint1.html b/docs/RuntimeAPI/html/structuint1.html new file mode 100644 index 0000000000..8ca11c3a38 --- /dev/null +++ b/docs/RuntimeAPI/html/structuint1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: uint1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
uint1 Struct Reference
+
+
+ + + + +

+Public Attributes

+unsigned int x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structulong1-members.html b/docs/RuntimeAPI/html/structulong1-members.html new file mode 100644 index 0000000000..669f7fc749 --- /dev/null +++ b/docs/RuntimeAPI/html/structulong1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ulong1 Member List
+
+
+ +

This is the complete list of members for ulong1, including all inherited members.

+ + +
x (defined in ulong1)ulong1
+ + + + diff --git a/docs/RuntimeAPI/html/structulong1.html b/docs/RuntimeAPI/html/structulong1.html new file mode 100644 index 0000000000..28e2087d73 --- /dev/null +++ b/docs/RuntimeAPI/html/structulong1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ulong1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ulong1 Struct Reference
+
+
+ + + + +

+Public Attributes

+unsigned long x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structulong2-members.html b/docs/RuntimeAPI/html/structulong2-members.html new file mode 100644 index 0000000000..9120b6de15 --- /dev/null +++ b/docs/RuntimeAPI/html/structulong2-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ulong2 Member List
+
+
+ +

This is the complete list of members for ulong2, including all inherited members.

+ + + +
x (defined in ulong2)ulong2
y (defined in ulong2)ulong2
+ + + + diff --git a/docs/RuntimeAPI/html/structulong2.html b/docs/RuntimeAPI/html/structulong2.html new file mode 100644 index 0000000000..1f53589875 --- /dev/null +++ b/docs/RuntimeAPI/html/structulong2.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ulong2 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ulong2 Struct Reference
+
+
+ + + + + + +

+Public Attributes

+unsigned long x
 
+unsigned long y
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structulong3-members.html b/docs/RuntimeAPI/html/structulong3-members.html new file mode 100644 index 0000000000..8bd18f2919 --- /dev/null +++ b/docs/RuntimeAPI/html/structulong3-members.html @@ -0,0 +1,104 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ulong3 Member List
+
+
+ +

This is the complete list of members for ulong3, including all inherited members.

+ + + + +
x (defined in ulong3)ulong3
y (defined in ulong3)ulong3
z (defined in ulong3)ulong3
+ + + + diff --git a/docs/RuntimeAPI/html/structulong3.html b/docs/RuntimeAPI/html/structulong3.html new file mode 100644 index 0000000000..7815a49ac0 --- /dev/null +++ b/docs/RuntimeAPI/html/structulong3.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ulong3 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ulong3 Struct Reference
+
+
+ + + + + + + + +

+Public Attributes

+unsigned long x
 
+unsigned long y
 
+unsigned long z
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structulong4-members.html b/docs/RuntimeAPI/html/structulong4-members.html new file mode 100644 index 0000000000..574d994e3e --- /dev/null +++ b/docs/RuntimeAPI/html/structulong4-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ulong4 Member List
+
+
+ +

This is the complete list of members for ulong4, including all inherited members.

+ + + + + +
w (defined in ulong4)ulong4
x (defined in ulong4)ulong4
y (defined in ulong4)ulong4
z (defined in ulong4)ulong4
+ + + + diff --git a/docs/RuntimeAPI/html/structulong4.html b/docs/RuntimeAPI/html/structulong4.html new file mode 100644 index 0000000000..88ef7a5ff9 --- /dev/null +++ b/docs/RuntimeAPI/html/structulong4.html @@ -0,0 +1,120 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ulong4 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ulong4 Struct Reference
+
+
+ + + + + + + + + + +

+Public Attributes

+unsigned long x
 
+unsigned long y
 
+unsigned long z
 
+unsigned long w
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structulonglong1-members.html b/docs/RuntimeAPI/html/structulonglong1-members.html new file mode 100644 index 0000000000..a87a99387b --- /dev/null +++ b/docs/RuntimeAPI/html/structulonglong1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ulonglong1 Member List
+
+
+ +

This is the complete list of members for ulonglong1, including all inherited members.

+ + +
x (defined in ulonglong1)ulonglong1
+ + + + diff --git a/docs/RuntimeAPI/html/structulonglong1.html b/docs/RuntimeAPI/html/structulonglong1.html new file mode 100644 index 0000000000..c873cf8d93 --- /dev/null +++ b/docs/RuntimeAPI/html/structulonglong1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ulonglong1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ulonglong1 Struct Reference
+
+
+ + + + +

+Public Attributes

+unsigned long long x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structulonglong2-members.html b/docs/RuntimeAPI/html/structulonglong2-members.html new file mode 100644 index 0000000000..6ba70a9646 --- /dev/null +++ b/docs/RuntimeAPI/html/structulonglong2-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ulonglong2 Member List
+
+
+ +

This is the complete list of members for ulonglong2, including all inherited members.

+ + + +
x (defined in ulonglong2)ulonglong2
y (defined in ulonglong2)ulonglong2
+ + + + diff --git a/docs/RuntimeAPI/html/structulonglong2.html b/docs/RuntimeAPI/html/structulonglong2.html new file mode 100644 index 0000000000..c58d2eaf5d --- /dev/null +++ b/docs/RuntimeAPI/html/structulonglong2.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ulonglong2 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ulonglong2 Struct Reference
+
+
+ + + + + + +

+Public Attributes

+unsigned long long x
 
+unsigned long long y
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structulonglong3-members.html b/docs/RuntimeAPI/html/structulonglong3-members.html new file mode 100644 index 0000000000..b057dc42db --- /dev/null +++ b/docs/RuntimeAPI/html/structulonglong3-members.html @@ -0,0 +1,104 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ulonglong3 Member List
+
+
+ +

This is the complete list of members for ulonglong3, including all inherited members.

+ + + + +
x (defined in ulonglong3)ulonglong3
y (defined in ulonglong3)ulonglong3
z (defined in ulonglong3)ulonglong3
+ + + + diff --git a/docs/RuntimeAPI/html/structulonglong3.html b/docs/RuntimeAPI/html/structulonglong3.html new file mode 100644 index 0000000000..1aa9f27840 --- /dev/null +++ b/docs/RuntimeAPI/html/structulonglong3.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ulonglong3 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ulonglong3 Struct Reference
+
+
+ + + + + + + + +

+Public Attributes

+unsigned long long x
 
+unsigned long long y
 
+unsigned long long z
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structulonglong4-members.html b/docs/RuntimeAPI/html/structulonglong4-members.html new file mode 100644 index 0000000000..8933649bcf --- /dev/null +++ b/docs/RuntimeAPI/html/structulonglong4-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ulonglong4 Member List
+
+
+ +

This is the complete list of members for ulonglong4, including all inherited members.

+ + + + + +
w (defined in ulonglong4)ulonglong4
x (defined in ulonglong4)ulonglong4
y (defined in ulonglong4)ulonglong4
z (defined in ulonglong4)ulonglong4
+ + + + diff --git a/docs/RuntimeAPI/html/structulonglong4.html b/docs/RuntimeAPI/html/structulonglong4.html new file mode 100644 index 0000000000..a745d34ecf --- /dev/null +++ b/docs/RuntimeAPI/html/structulonglong4.html @@ -0,0 +1,120 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ulonglong4 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ulonglong4 Struct Reference
+
+
+ + + + + + + + + + +

+Public Attributes

+unsigned long long x
 
+unsigned long long y
 
+unsigned long long z
 
+unsigned long long w
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structushort1-members.html b/docs/RuntimeAPI/html/structushort1-members.html new file mode 100644 index 0000000000..084a06bb60 --- /dev/null +++ b/docs/RuntimeAPI/html/structushort1-members.html @@ -0,0 +1,102 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ushort1 Member List
+
+
+ +

This is the complete list of members for ushort1, including all inherited members.

+ + +
x (defined in ushort1)ushort1
+ + + + diff --git a/docs/RuntimeAPI/html/structushort1.html b/docs/RuntimeAPI/html/structushort1.html new file mode 100644 index 0000000000..10eeae3da1 --- /dev/null +++ b/docs/RuntimeAPI/html/structushort1.html @@ -0,0 +1,111 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ushort1 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ushort1 Struct Reference
+
+
+ + + + +

+Public Attributes

+unsigned short x
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structushort2-members.html b/docs/RuntimeAPI/html/structushort2-members.html new file mode 100644 index 0000000000..4219cfcc0d --- /dev/null +++ b/docs/RuntimeAPI/html/structushort2-members.html @@ -0,0 +1,103 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ushort2 Member List
+
+
+ +

This is the complete list of members for ushort2, including all inherited members.

+ + + +
x (defined in ushort2)ushort2
y (defined in ushort2)ushort2
+ + + + diff --git a/docs/RuntimeAPI/html/structushort2.html b/docs/RuntimeAPI/html/structushort2.html new file mode 100644 index 0000000000..b6523a4a17 --- /dev/null +++ b/docs/RuntimeAPI/html/structushort2.html @@ -0,0 +1,114 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ushort2 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ushort2 Struct Reference
+
+
+ + + + + + +

+Public Attributes

+unsigned short x
 
+unsigned short y
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structushort3-members.html b/docs/RuntimeAPI/html/structushort3-members.html new file mode 100644 index 0000000000..0aa517b830 --- /dev/null +++ b/docs/RuntimeAPI/html/structushort3-members.html @@ -0,0 +1,104 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ushort3 Member List
+
+
+ +

This is the complete list of members for ushort3, including all inherited members.

+ + + + +
x (defined in ushort3)ushort3
y (defined in ushort3)ushort3
z (defined in ushort3)ushort3
+ + + + diff --git a/docs/RuntimeAPI/html/structushort3.html b/docs/RuntimeAPI/html/structushort3.html new file mode 100644 index 0000000000..590a5579a6 --- /dev/null +++ b/docs/RuntimeAPI/html/structushort3.html @@ -0,0 +1,117 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ushort3 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ushort3 Struct Reference
+
+
+ + + + + + + + +

+Public Attributes

+unsigned short x
 
+unsigned short y
 
+unsigned short z
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/structushort4-members.html b/docs/RuntimeAPI/html/structushort4-members.html new file mode 100644 index 0000000000..b103b96ed8 --- /dev/null +++ b/docs/RuntimeAPI/html/structushort4-members.html @@ -0,0 +1,105 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: Member List + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ushort4 Member List
+
+
+ +

This is the complete list of members for ushort4, including all inherited members.

+ + + + + +
w (defined in ushort4)ushort4
x (defined in ushort4)ushort4
y (defined in ushort4)ushort4
z (defined in ushort4)ushort4
+ + + + diff --git a/docs/RuntimeAPI/html/structushort4.html b/docs/RuntimeAPI/html/structushort4.html new file mode 100644 index 0000000000..55ddd7c472 --- /dev/null +++ b/docs/RuntimeAPI/html/structushort4.html @@ -0,0 +1,120 @@ + + + + + + +HIP: Heterogenous-computing Interface for Portability: ushort4 Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
HIP: Heterogenous-computing Interface for Portability +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
ushort4 Struct Reference
+
+
+ + + + + + + + + + +

+Public Attributes

+unsigned short x
 
+unsigned short y
 
+unsigned short z
 
+unsigned short w
 
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/docs/RuntimeAPI/html/sync_off.png b/docs/RuntimeAPI/html/sync_off.png new file mode 100644 index 0000000000..3b443fc628 Binary files /dev/null and b/docs/RuntimeAPI/html/sync_off.png differ diff --git a/docs/RuntimeAPI/html/sync_on.png b/docs/RuntimeAPI/html/sync_on.png new file mode 100644 index 0000000000..e08320fb64 Binary files /dev/null and b/docs/RuntimeAPI/html/sync_on.png differ diff --git a/docs/RuntimeAPI/html/tab_a.png b/docs/RuntimeAPI/html/tab_a.png new file mode 100644 index 0000000000..3b725c41c5 Binary files /dev/null and b/docs/RuntimeAPI/html/tab_a.png differ diff --git a/docs/RuntimeAPI/html/tab_b.png b/docs/RuntimeAPI/html/tab_b.png new file mode 100644 index 0000000000..e2b4a8638c Binary files /dev/null and b/docs/RuntimeAPI/html/tab_b.png differ diff --git a/docs/RuntimeAPI/html/tab_h.png b/docs/RuntimeAPI/html/tab_h.png new file mode 100644 index 0000000000..fd5cb70548 Binary files /dev/null and b/docs/RuntimeAPI/html/tab_h.png differ diff --git a/docs/RuntimeAPI/html/tab_s.png b/docs/RuntimeAPI/html/tab_s.png new file mode 100644 index 0000000000..ab478c95b6 Binary files /dev/null and b/docs/RuntimeAPI/html/tab_s.png differ diff --git a/docs/RuntimeAPI/html/tabs.css b/docs/RuntimeAPI/html/tabs.css new file mode 100644 index 0000000000..9cf578f23a --- /dev/null +++ b/docs/RuntimeAPI/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/docs/doxygen-input/doxy.cfg b/docs/doxygen-input/doxy.cfg new file mode 100755 index 0000000000..8dd6fc234e --- /dev/null +++ b/docs/doxygen-input/doxy.cfg @@ -0,0 +1,2383 @@ +# Doxyfile 1.8.9.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "HIP: Heterogenous-computing Interface for Portability" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = RuntimeAPI + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING += dox=md + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. +# Note: If this tag is empty the current directory is searched. + +#INPUT = README.dox include/hip_kalmar.h include/hip_kalmar_texture.h +INPUT = doxygen-input/mainpage.txt doxygen-input/sync.txt \ + ../include/ ../include/hcc_detail/ ../src/ + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank the +# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, +# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, +# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, +# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, +# *.qsf, *.as and *.js. + +FILE_PATTERNS = *.h *.cpp + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = ./examples + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = doxygen-input/images + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = ../README.md + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# compiled with the --with-libclang option. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to NO can help when comparing the output of multiple runs. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /